prev up next   top/contents search

comp.lang.c FAQ 列表· 问题 6.21

为什么不sizeof当数组是函数参数时,不能正确报告数组的大小?我有一个测试例程

	f(char a[10])
	{
		int i = sizeof(a);
		printf("%d\n", i);
	}
它打印 4,而不是 10。


编译器会假装数组参数被声明为指针(即,在示例中,如char *a;参见问题 6.4),并且sizeof报告指针的大小。另请参见问题 1.247.28

参考:H&S 第 7.5.2 节 p. 195


prev up next   contents search
关于此 FAQ 列表   关于 Eskimo   搜索   反馈   版权

Eskimo North 托管