在C语言中,100个浮点变量的数组和100个字符指针的数组占用了多少字节的内存?
bool:1字节 字符:1字节 短:2字节 整数:4字节 长:8字节 浮点:4字节 双精度:8字节 长双精度:16字节 无符号整数:8字节 无符号字符:1字节 长整型:8字节 短整数:2字节在C语言中,100个浮点变量的数组和100个字符指针的数组占用了多少字节的内存?,c,C,bool:1字节 字符:1字节 短:2字节 整数:4字节 长:8字节 浮点:4字节 双精度:8字节 长双精度:16字节 无符号整数:8字节 无符号字符:1字节 长整型:8字节 短整数:2字节 签名字符:1字节为什么不自己试试呢 float a[100]; char* b[100]; printf("size of 100 floats = %zu\n", sizeof(a)); printf("size of 100 char pointers = %zu\n", sizeof(b)); 您只
签名字符:1字节为什么不自己试试呢
float a[100];
char* b[100];
printf("size of 100 floats = %zu\n", sizeof(a));
printf("size of 100 char pointers = %zu\n", sizeof(b));
您只需使用sizeof运算符
请参阅。答案因平台而异。C不指定浮点或指向字符的指针的大小,但sizeof会告诉您任何特定实现的大小。请使用sizeof运算符。您的表不包含指针大小,因此您没有获得足够的信息来进行确定。int是4字节,而unsigned int是8字节?这是不允许的。sizeof生成一个size\u t,但%d告诉printf您正在传递一个int。不匹配会产生未定义的行为。您应该强制转换从sizeof printf%d,intsizeof a;或打印%u,未签名大小为a;或者使用C99%zu说明符printf%zu,sizeof b.@pmg谢谢,按建议更新