我在使用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;
}
Run Code Online (Sandbox Code Playgroud)
当我编译并运行代码时,我收到此警告:
[Warning]赋值使整数指针没有强制转换[默认启用]
对于第9行(ap = a [4];)并且终端崩溃.如果我将第9行更改为不包含位置(ap = a;),我不会收到任何警告并且它可以正常工作.为什么会这样?我觉得答案很明显,但我看不出来.