关于一维数组定义的相关问题

一维数组数组名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;

猜你喜欢

转载自blog.csdn.net/wry_sunny_/article/details/79556894