Aza*_*zle 2 c arrays pointers extern
假设我有两个文件:file1.c-包含一个名为"array [10]"的大小为10的int数组的全局定义.file2.c-包含一个名为"extern int*array"的int指针,这里我试图将这个指针链接到数组.
但是当我检查file1.c中的数组地址和file2.c中的指针值时,它们都是不同的.为什么会这样?
Dan*_*her 5
这不起作用file2.c,你需要
file2.c
extern int array[];
因为数组和指针不是一回事.两个声明必须具有兼容的类型,并且int*与之不兼容int[N].
int*
int[N]
实际发生的事情未指定,程序格式错误extern int *array;,但可能sizeof(int*)是数组的第一个字节被解释为地址.
extern int *array;
sizeof(int*)
归档时间:
12 年,9 月 前
查看次数:
1537 次
最近记录: