【发布时间】:2014-02-18 15:38:16
【问题描述】:
我在使用 C 中的指针和数组时遇到了一些问题。代码如下:
#include<stdio.h>
int *ap;
int a[5]={41,42,43,44,45};
int x;
int main()
{
ap = a[4];
x = *ap;
printf("%d",x);
return 0;
}
当我编译并运行代码时,我收到以下警告:
[警告] 赋值使指针从整数而不进行强制转换 [默认启用]
对于第 9 行 (ap = a[4];),终端崩溃。如果我将第 9 行更改为不包含位置 (ap = a;),我不会收到任何警告并且它有效。为什么会这样?我觉得答案很明显,但我就是看不到。
【问题讨论】:
标签: c arrays pointers warnings