类型 名称[大小] 为基本
#include<stdio.h>
int main()
{
int arr1[4]={1,2,3,4};
char arr2[4]="abcd";
printf("%d\n",arr1[0]);
printf("%c\n",arr2[0]);
return 0;
}
1.其中用括号和双引号都行,{1,2,3,4}中有下标,下标从0开始,数组中1下标为0,下标是用来寻找元素的
2.数组传参到子函数只有首元素的地址被传进。
#include<stdio.h>
int add(int arr[])
{
printf("%d\n",*arr);
}
int main()
{
int arr1[4]={1,2,3,4};
char arr2[4]="abcd";
add(arr1);
printf("%d\n",arr1[0]);
printf("%c\n",arr2[0]);
return 0;
}
3.数组本身是元素地址的集合体,每个元素地址都是逐渐增加的
#include<stdio.h>
int main()
{
int arr1[4] = { 1,2,3,4 };
char arr2[4] = "abcd";
printf("%p\n", &arr1[0]);
printf("%p\n", &arr1[1]);
printf("%p\n", &arr1[2]);
printf("%p\n", &arr1[3]);
return 0;
}
地址是用16进制,一个字节占4个位置,A为10,B为11依次下去CEF的值,这就说明每个元素是连续储存。(%p是地址操作符,&取地址符,而数组不用&,因为它本身就是地址集合体)