C语言中数组和指针的定义和声明不一致会有什么影响?
发布时间
阅读量:
阅读量
以下陈述内容源自某一原始文件:
int a[10];
int *b = a;
AI写代码cpp
然而,在另一份源文件中,却出现了如下所示的代码:
extern int *a;
extern int b[];
int x,y;
...
x = a[3];
y = b[3];
请说明,当执行两条赋值语句时,系统将如何响应?(假设整型变量与指针类型的存储空间均为4个字节。)
int a[10];
int *b = a;与
extern int *a;
extern int b[];其中声明方式与定义方式存在差异。
接下来可以观察程序运行后的实际输出结果:
//file: a.c
int a[10] = {1,2,3,4,5,6,7,8,9,10};
int *b = a;
void test() {
printf("a: 0x%x\n", a);
全部评论 (0)
还没有任何评论哟~
