一维数组数组名arr在如下情况表示整个数组
1、在定义数组的同一个函数中,sizeof(arr);
2、在定义数组的同一个函数中,&arr+1;
在其它情况下数组名arr表示数组首元素的地址
void Show(int *arr)
{
for(int i=0;i<10;i++)
{
printf("%d ",arr[i]);//打印出数组的每一项
}
printf("\n");
}
int main()
{
int crr[10] = {1,2,3,4};//聚合类型只初始化一部分,剩余部分为0
扫描二维码关注公众号,回复:
5185896 查看本文章
int arr[] = {1,2,3,4,5,6,7,8,9,10,11};//中括号中不输入数值时,自动分配
int brr[10]={1,2,3,4,5,6,7,8,9,10,11};//越界,非法访问内存
printf("%d\n",sizeof(arr));//数组所占的字节数,表示整个数组
printf("%d,%d\n",&arr,&arr+1);//数组每一位的地址,表示整个数组
int *p = arr;
Show(arr,);//arr表示数组首元素的地址
return 0;