Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C语言中,100个浮点变量的数组和100个字符指针的数组占用了多少字节的内存?_C - Fatal编程技术网

在C语言中,100个浮点变量的数组和100个字符指针的数组占用了多少字节的内存?

在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)); 您只

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));
您只需使用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谢谢,按建议更新