第九章指针 9.1指针的概念 9.2指针变量 9.3指向数组的指针变量 94指针与字符串 9.5指针与函数 9.6指针数组与多级指针 97命令行参数
第九章 指针 9.1 指针的概念 9.2 指针变量 9.3 指向数组的指针变量 9.4 指针与字符串 9.6 指针数组与多级指针 9.5 指针与函数 9.7 命令行参数
前言 C程序设计中使用指针可以 使程序简洁、紧凑、高效 有效地表示复杂的数据结构 动态分配内存 得到多于一个的函数返回值
➢前言 C程序设计中使用指针可以: – 使程序简洁、紧凑、高效 – 有效地表示复杂的数据结构 – 动态分配内存 – 得到多于一个的函数返回值
91指针的概念 91.1变量与地址 内存中每个字节有一个编号地址 内存 0 程序中:int 2000 2001 float k Q002 编译或函数调用时为其分配内存单元 2003 2005 变量是对程序中数据 存储空间的抽象
9.1.1变量与地址 程序中: int i; float k; 内存中每个字节有一个编号-----地址 …... …... 2000 2001 2002 2005 内存 0 2003 i k 编译或函数调用时为其分配内存单元 变量是对程序中数据 存储空间的抽象 9.1 指针的概念
91.2指针与指针变量 指针:一个变量的地址 指针变量:专门存放变量地址的变量叫 指针 区2000 整型变量i 2001 10 变量的 变量的内容 2002 地址 2003 2004 变量 i pointer 2005 2060 指针变量 2006 指针变变量地址(指针 地址存入 变量变量值 指针变量
…... …... 2000 2004 2006 2005 整型变量i 10 变量i_pointer 2001 2002 2003 指针:一个变量的地址 指针变量:专门存放变量地址的变量叫~ 2000 指针 指针变量 变量的 变量的内容 地址 指针变量 变量 变量地址(指针) 变量值 指向 地址存入 指针变量 9.1.2指针与指针变量
91.3&与*运算符 含义 两者关系:互为逆运算 含义:取变量含义:取指针所指向变量的内容 理解 单目运算符单目运算符 pointer 1 pointer 优先级:2优先级:2 &i_pointer 2000 10 结合性:自 2000 整型变量i 2001 10 nter=&i=&*i pointer) 2002 is“ ointer=*(&i) 2003 2004 变量ⅰ pointer 2005 206- 指针变量 2006 pointer 指针变量,它的内容是地址量 1 pointer-指针的目标变量,它的内容是数据 & c1 pointer--指针变量占用内存的地址
• 含义 含义: 取变量的地址 单目运算符 优先级: 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) 9.1.3 &与*运算符