C语言中的sizeof问题
发布网友
发布时间:2023-12-25 12:23
我来回答
共2个回答
热心网友
时间:2024-07-11 19:50
这里sizeof获取的是整个数组的容量大小吧,因为你定义的是100啊string[100],嗯嗯。
看到了吗,sizeof获取的书整个数组的大小,因为就算没有给全部元素赋值系统也会给自动赋予0值。int占4个字节所以10个就是40,char占1个字节,所以就是10。
热心网友
时间:2024-07-11 19:50
main()
{
char p[]={'a','b','c'},q[]="abc";
//定义字符数组 注意:p和q不同-为q分配4个字节的空间 {'a','b','c','\0'}
printf("%d %d\n",sizeof(p),sizeof(q));
//sizeof 是C里面的关键字 并非函数,意思是数组p和q 所占的内存多少 单位是字节
getch();//用此命令可以在运行的的时候,按任意键退出 ,如果没有此命令,屏幕闪一下就没了(程序结束就退出) 所以看不见结果
注:在VC 中 调试(那个感叹号 )的时候已经内置此命令即使不用getch() 还是可以看到结果的