devC和VC指针长度不同的问题
#include<stdio.h>void sr(int *a);
int main(){
int i,a[]={1,2,3,4,5,6,7,8,9,10};
printf("数组a长度为%d\n",sizeof(a));
sr(a);
return 0;
}
void sr(int *a){
printf("指针a长度为%d\n",sizeof(a));
}
用devC得到的指针a的长度是8,用VC是4,不同的原因是因为devC是默认64位的环境下运行的指针而VC是32位吗?萌新求解答 跟编译有关吧,64位编译的话指针8字节,32位编译4字节 看 sizeof(long) 赚小钱 发表于 2020-6-6 12:45
看 sizeof(long)
不如 sizeof(&main) 我试了下,确实32位编译是4个字节64位编译是8个字节,应该就是这个原因 永恒的蓝色梦想 发表于 2020-6-6 13:03
不如 sizeof(&main)
老哥sizeof(&main)是怎么个用法
1sun15718 发表于 2020-6-6 13:51
老哥sizeof(&main)是怎么个用法
&main 是个指针,sizeof 指针你应该知道吧
页:
[1]