<分区>
#include "stdio.h"
#define COUNT(a) (sizeof(a) / sizeof(*(a)))
void test(int b[]) {
printf("2, count:%d\n", COUNT(b));
}
int main(void) {
int a[] = { 1,2,3 };
printf("1, count:%d\n", COUNT(a));
test(a);
return 0;
}
结果很明显:
1, count:3
2, count:1
我的问题:
- 声明“a”时,长度(计数/大小)信息存储在哪里?
- 为什么将“a”传递给 test() 函数时长度(计数/大小)信息会丢失?