#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()函数时会丢失长度(计数/大小)信息?