文档详情

第八章 指针(一).ppt

发布:2017-09-25约字共18页下载文档
文本预览下载声明
贵州大学人民武装学院 姜毅 贵州大学人民武装学院 C程序设计 THE C PROGRAMMING LANGUAGE INSTRUCTOR: 姜毅 EMAIL: jiang_yi123@ 贵州大学人民武装学院 姜毅 第八章 指 针 变量的指针和指向变量的指针变量 02 地址和指针的概念 01 贵州大学人民武装学院 姜毅 C程序设计中使用指针可以: 使程序简洁、紧凑、高效 有效地表示复杂的数据结构 动态分配内存 得到多于一个的函数返回值 贵州大学人民武装学院 姜毅 8.1 地址和指针的概念 程序中: int i; float k; 内存中每个字节有一个编号-----地址 …... …... 2000 2001 2002 2005 内存 0 2003 i k 编译或函数调用时为其分配内存单元 变量是对程序中数据 存储空间的抽象 变量与地址 贵州大学人民武装学院 姜毅 8.1 地址和指针的概念 内存单元的地址与内存单元的内容 a 2410 2411 2412 2413 2414 2415 2416 3 内存单元名: a 内存单元的地址: 2411 内存单元的内容: 3 贵州大学人民武装学院 姜毅 8.1 地址和指针的概念 什么是指针? 指针就是某变量的地址值 指针是一个整数值 a 2410 2411 2412 2413 2414 2415 2416 3 2411就是变量a的指针 贵州大学人民武装学院 姜毅 8.2 指针与指针变量 指针:一个变量的地址 指针变量:专门存放变量地址的变量 一、定义一个指针变量 一般形式:数据类型 *指针名; 合法标识符 指针的目标变量的数据类型 表示定义指针变量 不是‘*’运算符 例 int *p1,*p2; float *q ; static char *name; 1、int *p1, *p2; 与 int *p1, p2; 2、指针变量名是p1,p2 ,不是*p1,*p2 3、指针变量只能指向定义时所规定类型的变量 4、指针变量定义后,变量值不确定,应用前必须先赋值 注意: 贵州大学人民武装学院 姜毅 8.2 指针与指针变量 …... …... 2000 2004 2006 2005 整型变量i 10 变量i_pointer 2001 2002 2003 2000 指针 指针变量 变量的内容 变量的地址 指针变量 变量 变量地址(指针) 变量值 指向 地址存入 指针变量 贵州大学人民武装学院 姜毅 8.2 指针与指针变量 与*运算符 含义 含义: 取变量的地址 单目运算符 优先级: 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) 贵州大学人民武装学院 姜毅 8.2 指针与指针变量 把某一常量赋予某个内存单元的方法: 通过变量名 通过指针 例 i=3; ---直接访问 指针变量 …... …... 2000 2004 2006 2005 整型变量i 10 变量i_pointer 2001 2002 2003 2000 3 例 *i_pointer=20; -----间接访问 20 贵州大学人民武装学院 姜毅 8.2 指针与指针变量 指针变量 …... …... 2000 2004 2006 2005 整型变量i 10 变量i_pointer 2001 2002 2003 2000 整型变量k 例 k=i; --直接访问 k=*i_pointer; --间接访问 10 例 k
显示全部
相似文档