C语言中指针定义时,必须初始化

C语言中指针定义时,必须初始化

“指针” 所指向的变量的数据类型其一般形式为: 类型说明符 *变量名;

其中,*表示这是一个指针变量,变量名即为定义的指针名字名,类型说明符表示本指针变量所指向的变量的数据类型。

指针变量同普通变量一样,使用之前需要定义;

并且必须进行初始化。这是与普通变量最大不同的地方;未初始化的指针变量不能使用, 否则将造成系统混乱,甚至死机。

指针变量的初始化只能赋予地址, 决不能赋予任何其它数据,否则将引起错误。

在C语言中, 声明一个指针变量并不会自动分配任何的内存,对指针执行间接访问前,指针必须初始化:或者使它指向现有的内存,或者为其分配动态内存。

定义一个指针时,如果不进行初始化,系统会为这个变量自动分配一个地址,这个地址的值就是指针的值可能为0Xxxxxxxxx,不初始化这个指针的值的话,操作这个指针就想当于操作这个0Xxxxxxxxx这个地方的内容,就会出现问题,因为你并不知道这个指针指向地址的内容,可能为段系统代码,错改的话,可能会让系统崩溃。

NULL指针就是不指向任何东西的指针,它可以赋值给另一个指针,永远表示这个指针不指向任何值。对于NULL指针执行任何的间接访问操作的后果是不确定的,由编译器决定。

除了NULL指针之外,再没有任何内建的记法来表示指针常量,因为无法预知编译器会把变量放在什么位置。

相关推荐

雨萱名字含义:
365体育投注下载

雨萱名字含义:

📅 08-09 👁️ 6536
问世11年,美颜相机为什么没有被系统相机打败?
日博365官网手机版

问世11年,美颜相机为什么没有被系统相机打败?

📅 07-20 👁️ 5462
映泰HIFI(探索音乐的新境界)
日博365官网手机版

映泰HIFI(探索音乐的新境界)

📅 07-23 👁️ 3935
网易世界杯战略发布
日博365官网手机版

网易世界杯战略发布

📅 08-01 👁️ 2306
Linux---带你区分
日博365官网手机版

Linux---带你区分"根目录" 和 "家目录"

📅 08-04 👁️ 1424
告别虚假速度:手机准确检测宽带兆数的5种方法
365体育投注下载

告别虚假速度:手机准确检测宽带兆数的5种方法

📅 08-05 👁️ 3254