那些年嵌入式开发c&c++入的坑号001

坑位描述:指针未初始化(即未指向内存地址)就使用
入坑场景1:直接定制的指针未初始化,然后直接操作指针。
例如:

int *pInt = NULL;
*pInt = 1;

入坑场景2:在结构体中定义了指针变量,忘记初始化,但是后面却直接进行使用赋值。

typedef struct _TMP_STR
{
	int iInt;
	char *pChar;
	int *pInt;
}TMP_STR;
 
TMP_STR strTmp;
strTmp.iInt = 1;
snprintf(strTmp.pChar,sizeof(strTmp.pChar),"%s","1234567");

心得:
(1)使用指针之前先要理清该指针指向的是哪个地址,若没有指向,则先指向,后操作。
(2)使用指针前请进行非空判断。另外要养成指针使用前判断非空的编程习惯。

写在尾部:
大家多总结,多分享,做事更高效,生活更美好,人生才会更有意义!总结了很多没有分享那没有多大意义。为此,捡起多年不更新的公众号,打算当成一个记录手册,把自己的技术所得,生活感悟和人生所获积极正能量,有意义的事记录下来,有兴趣的朋友可以关注我的公众号,一起做交流学习。
那些年嵌入式开发c&c++入的坑号001_第1张图片

你可能感兴趣的:(嵌入式开发,C语言例程与知识,嵌入式;,c语言,坑)