免费A级毛片无码专区网站-成人国产精品视频一区二区-啊 日出水了 用力乖乖在线-国产黑色丝袜在线观看下-天天操美女夜夜操美女-日韩网站在线观看中文字幕-AV高清hd片XXX国产-亚洲av中文字字幕乱码综合-搬开女人下面使劲插视频

C語(yǔ)言基礎(chǔ)--數(shù)組

數(shù)組概念:在內(nèi)存中連續(xù)存儲(chǔ)的具有相同數(shù)據(jù)類型的一組數(shù)據(jù)的集合 。
注意:

  • 數(shù)組中的數(shù)據(jù)類型必須都是一致的
  • 數(shù)組在內(nèi)存中必須是連續(xù)的存儲(chǔ)空間
定義數(shù)組時(shí)候的注意事項(xiàng):
  • 定義數(shù)組的時(shí)候,[]里面的值不能是變量,只能是常量 。例如int num[n] 。
  • 使用數(shù)組的時(shí)候,[]里面的值可以是常量也可以是變量 。例如已經(jīng)定義了數(shù)組num[10],利用for循環(huán)遍歷的時(shí)候可以用num[i]來(lái)遍歷 。
數(shù)組名的含義
C語(yǔ)言基礎(chǔ)--數(shù)組

文章插圖
如圖可以看出,數(shù)組元素在內(nèi)存中的存儲(chǔ)地址是連續(xù)的,尤其注意以下內(nèi)容的區(qū)分 。
  • a[0]代表第0個(gè)元素
  • &a[0]代表的是第0個(gè)元素的地址,在本例中&a[0]=01
  • 數(shù)組名a代表數(shù)組,也代表著第0個(gè)元素的地址--->a == &a[0] ==01,所以說(shuō)數(shù)組名是一個(gè)常量(常量不能被賦值),也就是第0個(gè)元素的首地址 。
  • &a代表整個(gè)數(shù)組的地址,在數(shù)值上 &a == &a[0] == a,但是意義上不同,&a代表的是整個(gè)數(shù)組的地址,而a和&a[0]是第0個(gè)元素的地址,下一條會(huì)介紹具體區(qū)別 。
  • &a[0]+1 代表元素的地址+1,跨過(guò)一個(gè)元素,此時(shí)指向的是a[1]的首地址也就是05
  • a+1 也代表元素的地址+1,跨過(guò)一個(gè)元素
  • 而&a代表的是整個(gè)數(shù)組的地址,&a+1則表示跨過(guò)整個(gè)數(shù)組,此時(shí)地址變成21,這就是上面整個(gè)數(shù)組地址和第0個(gè)元素地址的區(qū)別,他們跨過(guò)的元素個(gè)數(shù)不同
總結(jié):數(shù)組名是一個(gè)地址常量(第0個(gè)元素的首地址);&a[0]代表第0個(gè)元素的首地址;&a代表的是整個(gè)數(shù)組的地址 。
一維數(shù)組初始化:在定義數(shù)組的同時(shí)進(jìn)行賦值,成為初始化 。
  • 全局?jǐn)?shù)組如果不初始化,編譯器將將數(shù)組元素初始化為0.
  • 局部數(shù)組如果不初始化,內(nèi)容將會(huì)是隨機(jī)的 。
示例:
#include<stdio.h>int num1[5];int main(){ int num2[5]; for (int i = 0; i < 5; i++) {printf("%d ", num1[i]); } printf("\n"); for (int i = 0; i < 5; i++) {printf("%d ", num2[i]); } return 0;}運(yùn)行結(jié)果如下:
C語(yǔ)言基礎(chǔ)--數(shù)組

文章插圖
注意:
  • 若元素沒(méi)有全部被賦值,那么未被賦值的元素默認(rèn)會(huì)被賦值為0 。例如 int num[3]={1},那么此時(shí)num中的元素其實(shí)是 1,0,0 。
  • []中不定義元素個(gè)數(shù),定義的時(shí)候必須初始化,因?yàn)閿?shù)組需要知道具體要開(kāi)辟幾個(gè)元素的空間 。例如int num[];int num[] = {1,2,3},此時(shí)num默認(rèn)有三個(gè)元素,元素個(gè)數(shù)由{}里面的個(gè)數(shù)來(lái)定 。
二維數(shù)組定義:類型說(shuō)明符數(shù)組名[常量表達(dá)式1] [常量表達(dá)式2]
C語(yǔ)言基礎(chǔ)--數(shù)組

文章插圖
二維數(shù)組名int a[2] [3]
C語(yǔ)言基礎(chǔ)--數(shù)組

文章插圖
  • a[0] [0] 代表第0行第0個(gè)元素
  • &a[0] [0]代表第0行第0個(gè)元素的地址,也就是01
  • a[0]代表第0行一維數(shù)組的數(shù)組名 a[0] = &a[0] [0]
  • &a[0]第0行的地址01
  • a 二維數(shù)組數(shù)組名,代表二維數(shù)組,也代表首行地址 &a[0]
  • &a 二維數(shù)組的地址
  • &a[0] [0] +1 元素地址+1,跨過(guò)一個(gè)元素
  • a[0] +1 元素地址+1,跨過(guò)一個(gè)元素
  • &a[0] +1 行地址+1,跨過(guò)一行
  • a+1 行地址+1,跨過(guò)一行
  • &a + 1 二維數(shù)組地址+1,跨過(guò)整個(gè)數(shù)組
字符數(shù)組字符數(shù)組和字符串的區(qū)別