文档介绍:该【C语言指针PPT课件 】是由【读书之乐】上传分享,文档一共【102】页,该文档可以免费在线阅读,需要了解更多关于【C语言指针PPT课件 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。第十章
重要内容
地址和指针的概念
变量的指针和指向变量的指针变量
通过指针引用数组
通过指针字符串
指向函数的指针
返回指针值的函数
指针数组和多重指针
动态内存分派与指向它的指针变量
内存区的每一种字节有一种编号,这就是“地址” 。假如在程序中定义了一种变量,在对程序进行编译时,系统就会给这个变量分派内存单元。
1、按变量地址存取变量值的方式称为“直接访问”方式
printf(″%d″,i);
scanf(″%d″,&i);
k=i+j;
2. 另一种存取变量值的方式称为“间接访问”的方式。即,将变量i的地址寄存在另一种变量中。
在C语言中,指针是一种特殊的变量,它是寄存地址的。
一种变量的地址称为该变量的“指针”。
例如,地址是变量i的指针。假如有一种变量专门用来寄存另一变量的地址(即指针),则它称为“指针变量”。上述的i_pointer就是一种指针变量。
指针和指针变量的定义:
变量的指针和指向变量的指针变量
怎样定义指针变量
定义指针变量的一般形式为
基类型 *指针变量名;
下面都是合法的定义:
float *pointer_3;
char *pointer_4;
可以用赋值语句使一种指针变量得到另一种变
量的地址,从而使它指向一种该变量。
例如:
pointer_1=&i;
pointer_2=&j;
在定义指针变量时要注意两点:
指针变量前面的“*”,表示该变量的类型为指针型变量。
例: float *pointer_1;
指针变量名是pointer_1 ,而不是* pointer_1 。
(2) 在定义指针变量时必须指定基类型。
需要特别注意的是,只有整型变量的地址才能放到指向整型变量的指针变量中。下面的赋值是错误的∶
float a;
int * pointer_1;
pointer_1=&a;
在对指针变量赋值时需要注意两点:
⑴ 指针变量中只能寄存地址(指针),不要将一种
整数赋给一种指针变量。
例: * pointer_1=100; /* pointer_1是指针变量,100是整数,不合法 */
(2) 赋给指针变量的变是量地址不能是任意的类型,而只能是与指针变量的基类型具有相似类型的变量的
地址。
在引用指针变量时,也许有三种状况:
⑴给指针变量赋值。如:
p=&a;
⑵引用指针变量的值。如:
printf(“%o”,p);
⑶引用指针变量指向的变量。
有关的两个运算符:
& 取地址运算符。 &a是变量a的地址。
* 指针运算符 (或称“间接访问”运算符),*p是指针变量p指向的对象的值。
怎样引用指针变量