RT! char a = (char)malloc(sizeof(char) * 1024); printf("%d\n", sizeof(a)); a为什么会是4啊? char如果按1B算 结果应该是1024B才对啊。 如果申请失败了,a[1000]='c'; 这句话却是成功的。 在下系统win10 64。 蒙了.......
收起
因为 a是一个指针,指针也就是一个地址,占四个字节
报告相同问题?
程序员都在用的中文IT技术交流社区
专业的中文 IT 技术社区,与千万技术人共成长
关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!