求下面问题的输出:
#include <stdint.h>
#include <stdio.h>
void print_size(int32_t array[10]){
printf("%d\n", sizeof(array));
}
int main () {
int32_t myArray[10];
printf("%d ", sizeof(myArray));
print_size(myArray);
}
答案是40 8
本题要注意几点:
1、sizeof(数组名),返回的整个数组占据的字节数。在这里,数组长度为10,每个4字节,所以,总共40字节。
2、在64位操作系统中,地址为64位,也就是指针64位,占8字节。
2、通过函数调用后,数组名退化成指针,占8字节。