c语言中指针的指针会等于0吗

高手们,打扰一下,c语言中指针的指针会等于0吗
最新回答
迷路的信

2024-11-07 04:40:17

C语言本身并没有限制说指针变量不能为0,有限制的一般是平台(比如操作系统),如果平台没有限制、任何地址都可以读写。
操作系统下、指针通常不会允许为0,因为0地址是不开放给用户程序操作的,如果用户程序操作了0地址(及其他受保护的地址),操作系统就会给出一个异常。而在没用操作系统的时候,的程序就自由了。在单片机开发中,常常不使用操作系统,指针可以为0、也可以填写0地址。
数据在内存中的地址也称为指针,如果一个变量存储了一份数据的指针,就称它为指针变量。
在C语言中,允许用一个变量来存放指针,这种变量称为指针变量。指针变量的值就是某份数据的地址,这样的一份数据可以是数组、字符串、函数,也可以是另外的一个普通变量或指针变量。
现在假设有一个 char 类型的变量 c,它存储了字符 &39;(ASCII码为十进制数 75),并占用了地址为 0x11A 的内存(地址通常用十六进制表示)。另外有一个指针变量 p,它的值为 0x11A,正好等于变量 c 的地址,这种情况就称 p 指向了 c,或者说 p 是指向变量 c 的指针。
数组(Array)就是一些列具有相同类型的数据的,这些数据在内存中依次挨着存放,彼此之间没有缝隙。数组不是C语言的专利,Ja、C++、C#、JaScript、PHP 等其他编程语言也有数组。
C语言数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。
函数就是一段封装好的,可以重复使用的代码,它使得的程序更加模块化,不需要编写大量重复的代码。
函数可以提前保存起来,并给它起一个独一无二的名字,只要知道它的名字就能使用这段代码。函数还可以接收数据,并根据数据的不同做出不同的操作,较后再把处理结果反馈给。