#include <stdio.h>
int main(void)
{
int* a;
*a=20;
printf("%i\n",*a);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我有上面的代码.当代码在运行时,我总是收到错误消息"filename.exe已停止工作".为什么?
您没有为指向指向的指针分配任何内存.你可以这样做:
int *a = malloc(sizeof(*a));
Run Code Online (Sandbox Code Playgroud)
或者像这样:
int value;
int *a = &value;
Run Code Online (Sandbox Code Playgroud)
如果你使用它分配,malloc那么free当你使用它时你会想要调用指针.
访问未初始化的指针会导致未定义的行为.在你的程序中,它导致了段错误,这是未初始化指针访问的一个非常常见的结果.
| 归档时间: |
|
| 查看次数: |
90 次 |
| 最近记录: |