亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C語言數(shù)組快速入門詳細講解

 更新時間:2022年05月12日 14:37:44   作者:珠江上  
數(shù)組是一組有序的數(shù)據(jù)的集合,數(shù)組中元素類型相同,由數(shù)組名和下標唯一地確定,數(shù)組中數(shù)據(jù)不僅數(shù)據(jù)類型相同,而且在計算機內(nèi)存里連續(xù)存放,地址編號最低的存儲單元存放數(shù)組的起始元素,地址編號最高的存儲單元存放數(shù)組的最后一個元素

1.一維數(shù)組

數(shù)組的定義: 數(shù)組是一組相同類型元素的集合

a.一維數(shù)組的創(chuàng)建

數(shù)組的創(chuàng)建格式為: 數(shù)組的類型 數(shù)組名[ 常量表達式] ;

關(guān)于數(shù)組創(chuàng)建易錯點:

b.一維數(shù)組的初始化

類似于給整型變量初始化的過程:

int a=2; int b=5; int c=66;

關(guān)于數(shù)組初始化易錯點:

字符串的結(jié)束標志是 \0

特別注意:數(shù)組長度和字符串長度不是一個東西

#include <stdio.h>
#include <string.h>
int main()
{
	int arr1[3] = { 1,2,3 };
	//數(shù)組有1、2、3這三個元素
	int arr2[4] = { 1,2,3 };
	//數(shù)組有1、2、3、0這四個元素
	int arr3[4] = { 0 };
	//數(shù)組有0、0、0、0這四個元素
	char ch4[5] = "dat";
	//數(shù)組有d、a、t、\0、0這五個元素
	char ch5[] = "dat";
	//數(shù)組有d、a、t、\0這四個元素
	char arr6[] = "abc";
	//數(shù)組有a、b、c、\0四個元素,該數(shù)組長度為3,字符串長度為3
	char arr7[] = {'a','b','c'};
	//數(shù)組有a、b、c三個元素,該數(shù)組長度為3,字符串長度為隨機值
	printf("%d\n", strlen(arr6));//3
	printf("%d\n", strlen(arr7));//隨機值
	printf("%s\n", arr6);//得abc
	printf("%s\n", arr7);//abc亂七八糟
	return 0;
}

c.一維數(shù)組的使用

訪問數(shù)組中的某個元素用到[ ]下標引用操作符, 數(shù)組是使用下標來訪問的,下標是從0開始

計算數(shù)組的大小如下代碼:

#include <stdio.h>
int main()
{
    int arr[10] = {0};
    int sz = sizeof(arr) / sizeof(arr[0]);
    printf("則數(shù)組的大小為%d\n",sz);
    return 0;
}

d.一維數(shù)組在內(nèi)存中的存儲

一維數(shù)組在內(nèi)存中連續(xù)存放

數(shù)組的存放地址由低到高變化,看代碼:

2.二維數(shù)組

一維數(shù)組長這樣:

int arr [ 10 ]= { 0 } ;

二維數(shù)組長這樣:

int arr [ 3] [4 ]= { {1,2}, {3,4}} ;

a.二維數(shù)組的創(chuàng)建

int arr1 [ 3 ] [ 4 ] ; 三行四列

char arr2 [ 4] [ 4 ] ; 四行四列

float arr3 [ 3 ] [ 6] ; 三行六列

特別注意:二維數(shù)組中,行可以省略,如:

int arr [ ] [ 4 ] ;

b.二維數(shù)組的初始化

int arr1 [ 3 ] [ 4 ] = {1,2,3,4,5};

第一行: 1 2 3 4

第二行: 5 0 0 0

第三行: 0 0 0 0

char arr2 [ 4] [ 4 ] ={ {1,2} , {3,4} } ;

第一行: 1 2 0 0

第二行: 3 4 0 0

第三行: 0 0 0 0

第四行: 0 0 0 0

float arr3 [ 3 ] [ 6] = { {1,2} , {3,4} , {5,6,0,2} } ;

第一行: 1 2 0 0 0 0

第二行: 3 4 0 0 0 0

第三行: 5 6 0 2 0 0

特別注意:未完全初始化的部分都是0

c.二維數(shù)組的使用

和一維數(shù)組相同,二維數(shù)組的使用也是通過下標的方式實現(xiàn), 行和列的順序,以及下標的的順序不能錯哦

d.二維數(shù)組在內(nèi)存中的存儲

通過下圖,我們發(fā)現(xiàn):

二維數(shù)組在內(nèi)存中也是連續(xù)存儲的

數(shù)組的存放地址也是由低到高變化

3.數(shù)組越界

數(shù)組的下標是有限制的

規(guī)定:數(shù)組下標從0開始,最后一個元素下標為n-1

看以下代碼:

i=3;則有0 1 2 3 四個下標就有四個元素,

j=4;則有0 1 2 3 4 五個下標就有五個元素

4.數(shù)組作為函數(shù)參數(shù)

這里用個冒泡函數(shù):將元素排序,來舉例

這個代碼通過調(diào)試,才能得出效果

#include <stdio.h>
 
void bubble_sort(int arr[], int sz)
{
    int i = 0;
    for (i = 0; i < sz - 1; i++)
    {
        int j = 0;
        for (j = 0; j < sz - i - 1; j++)
        {
            if (arr[j] > arr[i])
            {
                int tmp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = tmp;
            }
        }
    }
}
int main()
{
    int arr[] = { 1,3,6,8,2,9 };
    int sz = sizeof(arr) / sizeof(arr[0]);
    bubble_sort(arr, sz);
    return 0;
}

5.數(shù)組名

數(shù)組名就是首元素的地址(倆個例外)

1.sizeof(數(shù)組名)計算的是數(shù)組的大小

2.&數(shù)組名,取出的是數(shù)組的地址

到此這篇關(guān)于C語言數(shù)組快速入門詳細講解的文章就介紹到這了,更多相關(guān)C語言數(shù)組內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論