一、数组的常见定义方式

char str1[] = { 'h','e', 'l', 'l', 'o', '\0' };
char str2[] = "hello";
char str3[20];  
char str4[20] = { 0 };

可见,在定义数组时,必须给出数组的长度。要么像str1和str2那样给出具体有那些元素,要么像str3和str4那样给出数组的确切长度。如果用变量定义动态长度的数组,则必须使用malloc函数,见文章动态内存分配 malloc函数


二、scanf的常见用法

1.输入一系列整数

int arr[5];
for (int k = 0;k < 5;k++) 
	scanf("%d", &arr[k]);

注意:(1)scanf输入值存储至数组单个元素中时,必须加&

          (2)输入方式可以为:1 \n 2 \n 3 \n 4 \n 5 \n ,每个输入值之间都敲回车。 也可以为:1  2  3  4  5\n,每个输入值之间都敲空                     格,最后敲回车输入。

2.输入字符串

char str1[20];  
scanf("%s", str1);

注意:(1)此时的str1代表首元素地址,无需加&

          (2)字符串只能用此方法输入,无法用for循环逐个输入字符,因为回车\n,空格都会被视为普通字符,存入数组中。