C構造類型 數組

1、數組是什麼

一組有個固定大小、相同數據類型的數據的集合。數組

 

 

數組能夠分爲:一維數組、二維數組、三維數組、...(維數不止一維:多維數組)spa

表格 行和列(二維數組)指針

 

 

2、一維數組

1、通常形式

  類型說明符 數組標識符[常量表達式];內存

 

類型說明符:數組中全部元素的類型編譯器

數組標識符 :數組名,跟變量的命名規則同樣。字母、數字、下劃線for循環

[]: 下標運算符編譯

常量表達式:數組元素的個數,也就是數組的長度。只能是常量,不能是變量。變量

符號常量 #define LENGTH  10循環

2訪問數組裏面每個元素

經過下標訪問獲得每一個元素的值。array[0]遍歷

3、一維數組的初始化

有幾種方法:

1)用花括號{} 直接賦值

char arr[4] = {'a','b','c','d'};//初始化列表

 

arr[0]='a',arr[1]='b',arr[2]='c',arr[3]='d'

2)只給部分元素賦值,沒有賦值的元素默認賦值爲0

long arr[6] = {8,45,12,56};

short arr[10] = { 0 };

 

//遍歷

for (int i = 0; i < 6;i++)

{

printf("arr[%d]=%ld\n",i,arr[i]);

}

3)對所有元素初始化的時候,不指定數組元素的長度

short arr[] = {1,2,3,4,5,6,7,8};

編譯器會根據咱們給定的初始化元素的個數來定義這個數組的長度

 

數組越界:arr[8],arr[9] 編譯器不會報錯,

 

 

數組名:是一個指針常量,指向這個數組第一個元素的地址,數組的首地址。

4字符數組的初始化

char str[12] = "Hello World";//字符常量看作初始化列表

printf("%s\n",str);

 

4、數組元素賦值

char str[11] = {'H','e','l','l','o',' ','W','o','r','l','d'};

str[0] = 'W';

 

 

從鍵盤輸入,爲每個元素賦值

int arr[5];

 

scanf("%d",&arr[0]);

scanf("%d", &arr[1]);

scanf("%d", &arr[2]);

scanf("%d", &arr[3]);

scanf("%d", &arr[4]);

 

 

for (int i = 0; i < 5;i++)

{

 

printf("%d,",arr[i]);

}

 

 

使用for循環:

int arr[5];

 

for (int i = 0; i < 5;i++)

{

scanf("%d", &arr[i]);

}

 

 

for (int i = 0; i < 5;i++)

{

 

printf("%d,",arr[i]);

}

 

 

 

/////

int arr[5];

scanf("%d", arr);

 

5、數組所佔內存空間的大小

一段連續的內存空間

 

數組所佔的內存空間大小 = 數組類型 * 數組的長度;

printf("%d\n",arr);//是一個指針常量,指向這個數組第一個元素的地址,數組的首地址。

//sizeof()

printf("%d\n",sizeof(arr));//整個數組的大小

 

 

數組的長度:

sizeof(arr) /sizeof(int);

 

 

6const常量

不可以修改的量,必定要初始化。

const int i=10;

int arr[i];//不行

 

 

//const int i = 12;

//char arr[i] = {0};

3、多維數組

超過一維的就是多維數組,二維數組、三維數組....

一、二維數組

通常形式:

數據類型 數組名[常量表達式1][常量表達式2]

int arr[10];//一位數組

char arr[2][5];//二維數組

float arr[2][3][5];//三維數組

double ar[2][3][4][5];//四維數組

 

在內存中:一塊固定大小、連續的內存空間

二、初始化

(1)、直接寫在括號裏面、按順序排列

char arr[2][5]={0,1,2,3,4,5,6,7,8,9};

int arr[2][2][5]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};

 

打印一個二維數組

2)、只給部分元素賦值,其他沒有賦值的默認賦值爲0

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

 

3)、能夠省略行下標,可是不能省略列下標

int arr[][5]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};

4)、用{}括起來,分行給他賦值

相關文章
相關標籤/搜索