首页 >> 知识

指针初始化(指针初始化为0)

2024-01-26 知识 41 作者:佚名

大家好,今天来给大家分享指针初始化的相关知识,通过是也会对指针初始化为0相关问题来为大家分享,如果能碰巧解决你现在面临的问题的话,希望大家别忘了关注下本站哈,接下来我们现在开始吧!

1c指针数组初始化问题

任何指针都可以初始化为空(NULL),如果指针是变量的话,还可以赋值为空。

也就是说数组的每个元素都是指向float 类型变量的指针,你直接用数值360去赋初值,肯定是错的,0是正确的,因为它把0当成了空指针NULL来处理。

aa[0] = d; //这个时候是错误的,因为aa是一个指针,指向一个字面常量“abc”,这个字面常量是保存在程序的全局静态数据区,不可更改,默认就是const的,所以char *aa = abc;是错误的。

初始化为空。即 char * str = NULL;的形式,NULL在C语言中是特定的空指针,其值为0.在C语言中,以NULL作为指针的一个未生效状态,其本身是一个非法的地址值。2 初始化为常量字符串地址。

数组指针初始化方法:int (*p)[4];char a[3][4];p=a;p=&a[0];p=a+1;p=&a[1]; //都正确 p=a[0]; //错误 p=a[1]; //错误。

研究了一下这个问题。Keil报non-address/-constant initializer是正确的,因为advanceModeFun和advModeSetting是在同一级别初始化的,此时后者不可能知道前者的真实地址。

2指针变量在使用前必须初始化是什么意思?

1、不初始化也可以正确使用,只要在使用时正确赋值就可以,但是如果不初始化,则该指针为漂浮的指针,所指的地址不确定,而且指向的地址中的内容也不确定,如果乱用的话可能会影响其他程序的运行。

2、指针申明的时候最好初始化。初始化以后的指针在一些操作下野会变成野指针,比如:free释放内存以后。指向被释放的内存的指针也是野指针。我理解的野指针就是不可控的,不确定指向的指针都是野指针。

3、i:如是i是一个整型变量,并且其数值作为地址是有意义的,就可以 (3)NULL:就是0。0作为地址可以吗?当然可以。你写成int *p=0也一样。综上:只声明、没赋值过的指针都是野指针,初始化就是第一次赋值。

4、“局部变量初始化”是指在使用这个局部变量前,要对其进行初始化。

3指针初始化是什么,是不是一定要初始化

1、就是 使用前,这个指针必须指向某个存储空间。

2、不初始化也可以正确使用,只要在使用时正确赋值就可以,但是如果不初始化,则该指针为漂浮的指针,所指的地址不确定,而且指向的地址中的内容也不确定,如果乱用的话可能会影响其他程序的运行。

3、指针申明的时候最好初始化。初始化以后的指针在一些操作下野会变成野指针,比如:free释放内存以后。指向被释放的内存的指针也是野指针。我理解的野指针就是不可控的,不确定指向的指针都是野指针。

4、定义指针后可以不初始化,但实际上这个指针变量中已经有一个值了(就是分给这个指针变量的地方内存中原来的值,假设是0x1234)。

5、就可以 (3)NULL:就是0。0作为地址可以吗?当然可以。你写成int *p=0也一样。综上:只声明、没赋值过的指针都是野指针,初始化就是第一次赋值。能赋给指针的,只要是可以解释为地址的数值都可以。

好了,文章到此结束,希望可以帮助到大家。

tags:

关于我们

财广雨轩策划百科每天更新各类行业经验知识问答,不定期的更新行业经验问答,经验知识解读,生活经验知识科普,以及各种百科经验知识等,学知识,涨见识,就来财广雨轩策划经验网!

最火推荐

小编推荐

联系我们


Copyright © 2020-2022 财广雨轩策划 · 网站地图 · 内容地图 · XML地图 ·白山市浑江区财广百货店 版权所有 备案:吉ICP备2022009124号-5,