文章目录
- 🍊自我介绍
- 🍊野指针
- 🍊void *指针
- 🍊NULL指针
你的点赞评论就是对博主最大的鼓励
当然喜欢的小伙伴可以:点赞+关注+评论+收藏(一键四连)哦~
🍊自我介绍
Hello,大家好,我是小珑也要变强(也是小珑),我是易编程·终身成长社群一名“创始团队·嘉宾” ,现在我来为大家介绍一下有关嵌入式方面的内容。在进入介绍之前,可能有一些小伙伴不了解易编程·终身成长社群;想要进一步了解社群的小伙伴可以点击下方链接自行跳转至关于社群的介绍:
易编程·终身成长社群介绍 :
https://blog.csdn.net/weixin_74300052?spm=1011.2266.3001.5343
🍊野指针
野指针:野指针指的是指针中保存的是无效的内存地址。用户直接使用,系统会提示段错误。
例如 :
int * p;
*p = 800;Segmentation fault (core dumped) 段错误:一般由用户访问了非法的内存所导致的
🍊void *指针
void * 是一种特殊类型的指针,可以用于存放任意对象的地址
例如:
int a = 10;void * p = &a;
缺点:
由于不知道地址中存放的是何种类型的数据,因此不能直接操作void * 指针所指的对象
示例代码:
#include <stdio.h>
int main()
{int a = 100;//或者double a =3.1415 或者 char a = 32void *p = &a;printf("resule = %d\n",*(int *)p); //不能是printf("resule = %d\n",*p);return 0;
}
🍊NULL指针
#define NULL (void *)0用户习惯: int *p = NULL;含义:指针定义的时候,一般会把指针的值初始化为0地址,仅仅用于初始化,0地址我们用户一般,没有执行权限。对0地址直接操作,系统也会提示段错误
NULL指针的代码演示;
#include <stdio.h>
int main()
{int data = 800;int *p = NULL;p = &data;printf("result = %d\n",*p);return 0;}
大家对这小节内容有什么疑问可以在评论区评论,博主和广大网友看到后会第一时间回复的