c语言入门至精通完整版,C语言入门至精通完整版46759.ppt

C语言入门至精通完整版46759

第10章 指针 C语言程序设计 第十章 指针 地址和指针的概念 变量的指针和指向变量的指针变量 数组与指针 字符串与指针 指向函数的指针 返回指针值的函数 指针数组和指向指针的指针 有关指针的数组类型和指针运算的小结 < > 本章学习目标: 认识到用地址作为一种数据类型的重要性。 理解指针包括地址和类型两种属性。 掌握指针运算符&和*。 能够通过地址引用调用在被调函数与主调函数之间共享数据。 理解指针和数组的关系。 理解指向函数的指针的用法。 C程序设计中使用指针可以: 使程序简洁、紧凑、高效 有效地表示复杂的数据结构 动态分配内存,直接访问内存地址 得到多于一个的函数返回值 C语言程序设计 第十章 指针 < > 10.1 地址和指针的概念 C语言程序设计 第十章 指针 内存用户数据区 变量 i 变量 j 变量 i_pointer 3 6 2000 2000 2002 3010 在程序中定义一个变量,在编译时就给 这个变量分配一个内存单元,同时根据 变量的类型决定这个内存单元的大小。 如:整型2字节,实型4字节。 内存中每一个字节都有一个编号, 就是“地址”。 对每一个变量,它在内存中都有一个 存储位置,这个位置就是该变量的地址, 对变量值的存取是通过地址进行。 在C语言中这个地址被形象化地称为“指针”。 指针:一个变量的地址。 指针变量:存放另一变量的地址(即指针)。 < > 10.2 变量的指针和指向变量的指针变量 定义一个指针变量 指针变量在使用前必须定义,使其指向特定类型的变量,指针变量存放地址,必须定义为“指针类型”。 定义的一般形式:基类型 *指针变量名; 基类型:用来指定指针变量可以指向的变量的类型。 将决定指针移动和运算时的移动量。 构成:[存储类型] 数据类型 * :表示该变量为指针类型 C语言程序设计 第十章 指针 例 int *p1,*p2; float *q ; static char *name; 注意: 1、int *p1, *p2; 与 int *p1, p2; 2、指针变量名是p1,p2 ,不是*p1,*p2 3、指针变量只能指向定义时所规定类型的变量 4、指针变量定义后,变量值不确定,应用前必须先赋值 < > 进一步理解&与*运算符: 含义 C语言程序设计 第十章 指针 两者关系:互为逆运算 理解 取地址运算符 含义: 取变量的地址 单目运算符 优先级: 2 结合性:自右向左 指针运算符(“间接访问”运算符) 含义: 取指针所指向变量的内容 单目运算符 优先级: 2 结合性:自右向左 …... …... 2000 2004 2006 2005 整型变量i 10 变量i_pointer 2001 2002 2003 2000 指针变量 i_pointer-----指针变量,它的内容是地址量 *i_pointer----指针的目标变量,它的内容是数据 &i_pointer---指针变量占用内存的地址 2000 10 i_pointer *i_pointer &i_pointer i i_pointer &i &(*i_pointer) i *i_pointer *(&i) i_pointer = &i = &(*i_pointer) i = *i_pointer = *(&i) < > 指针变量的初始化 一般形式:[存储类型] 数据类型 *指针名=初始地址值; C语言程序设计 第十章 指针 赋给指针变量, 不是赋给目标变量 例 int i; int *p=&i; 变量必须已说明

你可能感兴趣的:(c语言入门至精通完整版)