數組:數組的定義注意點
數組初始化正确寫法:
int args[5] = {1,23,32,4,5};
int args[5] = {12,23};
int args[5] = {[3]=23, [4]=13};//這種寫法也可以,直接給其中角标為3和4的指派
int args[] = {12,23,32};//中括号中沒寫數組大小,在大括号中一定要寫具體數值
int args[‘A’] = {2,34,5};
錯誤寫法:
int args[];//這樣編譯器不知道給你開辟多大的記憶體空間
int count = 5;
int args[count] = {12,23,4};//不能寫變量在定義數組時;
數組名就是數組的位址:
int args[3] = {23,3,4};
printf(“%p\n”,args);//列印數組的位址,和第一個元素的位址一樣
printf(“%p\n”,&args[0]);//列印數組中某個值得位址要加 &
由于數組名是位址,當把數組名參數傳給函數,傳遞的是數組的位址;
字元串:c語言中字元串是用字元數組存儲的,結束符:’\0’,這個結束标記很重要,用他作為一個字元串結束的标志;
對于沒有\0結束符的隻能說是字元數組
數組定義正确的:
char name[8] = “itcast”;
char name2[8] = {‘i’ , ’t’ , ‘\0’};//這樣定義必須要用\0結束,
char name3[8] = {‘i’ , ’t’ , 0};//由于0的ASCII碼值就是0,這樣也是可以的;
char name4[8] = {‘i’ , ’t’ };//這個雖然沒有\0作為結束,但是定義的大小是8個,而隻用了兩個,後邊的會預設補上0的
但是下面這個就隻能叫字元數組了:
char name[] = {‘i’ , ’t’ };沒有定義字元數組的大小,預設按照給定的字元個數作為數組的大小,是以這個數組隻有2個字元
字元串輸出的占位符:%s,右邊接收的變量是一個位址,或者叫數組名
c語言自帶的計算字元串的長度的函數:strlen,這個函數包含在<stdio.h>頭檔案中;
注意點:這個字元串計算長度不計\0,而是以\0作為結束符;