64位环境中为什么使用两种方式得到的结果不一致? 见代码
#include <stdio.h>
void arrayLength(int numbers[]);
int main() {
int numbers[] = {1, 2, 3};
printf("size of numbers: %llu\n", sizeof(numbers)); // 12, 这里的numbers是指针, sizeof是如何知道其有多少个元素的?
arrayLength(numbers);
return 0;
}
void arrayLength(int numbers[]) {
printf("size of numbers: %llu\n", sizeof(numbers)); // 8, 这里的结果为什么与main中得到的结果不一致? 这里的numbers也是指针啊,而且地址跟main中的一样
}