关于指针

#include <stdio.h>
void main(){
    int *p=NULL;
    *p=5;
    
    printf("%d/n",*p);
}


这串代码编译时没有错误,但是执行不了,为什么呢?是因为*p的定义,初始化问题,像这样定义是不行的,因为根本就没有明确的给指针变量p指定一个内存区域,只是将整数5的地址给了p。造成了运行时的错误!
代码修改:

#include <stdio.h>
void main(){
    int *p=NULL,a;
    a=5;
    p=&a;
    
    printf("%d/n",*p);
}

posted @   胡.杰  阅读(134)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示