首页 理论教育C语言程序设计:指针变量的定义与初始化

C语言程序设计:指针变量的定义与初始化

【摘要】:指针变量不同于其他类型的变量,它是专门存放地址的,必须将其定义为“指针类型”。]其中数据类型指的是指针变量指向数据的类型,即指针所指向的数据可以是整型、字符型或实型数等。图7.1指针变量的初始化事实上,指针变量必须被赋值语句初始化后才能使用,否则严重时会造成系统区破坏而死机。

指针的学习主要包括四方面的内容:指针的类型,指针所指向的类型,指针的值(或者叫指针所指向的内存区),还有指针本身所占据的内存区。

C语言规定所有变量在使用前必须定义,指定其类型,并按此分配内存单元。指针变量不同于其他类型的变量,它是专门存放地址的,必须将其定义为“指针类型”。

1.指针变量的定义

指针变量定义的一般格式是:

数据类型 *指针变量[,*指针变量2…]

其中数据类型指的是指针变量指向数据的类型,即指针所指向的数据可以是整型、字符型或实型数等(注意:指针变量名的命名规则和变量名相同)。例如:

int*p1; /*定义p1是指向整数类型的指针变量*/

int*p1,*p2; /*定义p1,p2是指向整数类型的指针变量*/

int i,j,*p1,*p2; /*定义i,j是整型变量,p1和p2是指向整数类型的指针变量*/

2.指针变量的初始化

如何使一个指针变量指向一个普通类型的变量?其实很简单,只要将需要指向的变量的地址赋给相对应的指针变量就可以了。取地址运算的格式为:(www.chuimin.cn)

& 变量

其中的变量可以是任何类型变量。例如:

int*p1;

int i=10;

p1=& i;

赋值过程如图7.1所示。

图7.1 指针变量的初始化

事实上,指针变量必须被赋值语句初始化后才能使用,否则严重时会造成系统区破坏而死机。指针可被初始化为0、NULL或某个地址。具有值NULL的指针不指向任何值。NULL是在头文件<stdio.h>(以及其他几个头文件)中定义的符号常量。把一个指针初始化为0等价于把它初始化为NULL,但是用NULL更好。对指针初始化可防止出现意想不到的结果。