當我們需要定義大量的變數時,就可以定義一個陣列,定義時,也可以指定起始值:
int a[20];
int b[5] = {1,2,3,4,5};
取得陣列內容,可以利用陣列索引/下標(Subscript)來取得,請注意,索引值是從0開始,所以,以b陣列而言,是沒有b[5]的內容。
通常會配合迴圈來印出陣列裡的所有內容。
注意,因為a陣列未被定義內容,內容會是不可預期的內容。,
int a[20];
int b[5] = {1,2,3,4,5};
printf("%d\\n", **b[4]**);
for (int i=0; i< 20; i++){
printf("%d\\n", a**[i]**);
}
for (int i=0; i< 5; i++){
printf("%d\\n", **b[i]**);
}
在c裡,字元(char)是用單引號來表示,所以,多個字元基本上就是使用字元陣列。在c裡可以利用雙引號來表達多個字元,會預設結束字元為「\0」。
#include <stdio.h>
main(){
char name1[] = {'b'};
printf("%s\\n", name1);
char name2[] = {'b', '\\0'};
printf("%s\\n", name2);
char name3[] = "b";
printf("%s\\n", name3);
char name4[5]= "I love C!!";
printf("%s\\n", name4);
char name5[2];
scanf("%s", name5);
printf("%s\\n", name5);
}
因為scanf讀字串,如果中間有空白會自動切割為不同字串,所以,如果要讀取整行,要利用:
scanf("%[^\\n]s", name5);
#include <stdio.h>
main(){
char name1[] = {'b'};
printf("%s\\n", name1);
char name2[] = {'b', '\\0'};
printf("%s\\n", name2);
char name3[] = "b";
printf("%s\\n", name3);
char name4[5]= "I love C!!";
printf("%s\\n", name4);
char name5[2];
scanf("%[^\\n]s", name5);
printf("%s\\n", name5);
}