CHENZEPENG 发表于 2021-6-1 20:48:42

&arr[i]

本帖最后由 CHENZEPENG 于 2021-6-1 20:48 编辑

1 #include<stdio.h>
2 #define N 4
3 int main(void){
4         int i, arr;
5         printf("arr=%p\n",arr);
6         printf("sizeof(arr)=%d\n",sizeof(arr));
7         for(i=0;i<N;i++){
8                 printf("&arr[%d]=%p, sizeof(arr[%d])=%d\n",i,&arr,i,sizeof(arr));
9         }
10         return 0;
11 }

結果
arr=[            ]   
sizeof(arr)=[            ]    
&arr=0xbfbcdf4c, sizeof(arr)=4
&arr=[            ] , sizeof(arr)=4
&arr=[            ] , sizeof(arr)=4
&arr=0xbfbcdf58, sizeof(arr)=4
上面是题,结果的四个空是这样吗
4
16
0xbfbcdf50
0xbfbcdf54

万千只cnm 发表于 2021-6-1 21:08:17

arr的类型是 int *      //数组名不能左值
sizeof(arr)= n*4=16
&arr= &arr+4 =0xbfbcdf4c+4 =0x BFBCDF50
&arr=&arr+ 4*2 =0xbfbcdf54
页: [1]
查看完整版本: &arr[i]