第十二章指针
第十二章 指针
12.1指针与指针变量 如:inta=1,b=2; 2000 变量a float x=34,y=4.5;2012变量b double m3. 124 2004 3.4 变量x char chI='a‘,ch2=b’; 2008 4.5 变量y 个地址唯一指向一个内存变 量,我们称这个地址为变量的 3.124 变量m 2012 指针。如果将变量的地址保存2020 变量chl 在内存的特定区域,用变量来 2021 变量ch2 存放这些地址,这样的变量就 是指针变量,通过指针对所指 向变量的访问,也就是一种对 变量的“间接访问”。 第十二章指针
第十二章 指针 12.1 指针与指针变量 如:int a=1, b=2; float x=3.4, y = 4.5 ; double m=3.124; char ch1='a‘, ch2='b'; 1 2 4.5 3.4 3.124 a b 2000 2002 2004 2008 2012 2020 2021 变量a 变量b 变量x 变量y 变量m 变量ch1 变量ch2 一个地址唯一指向一个内存变 量,我们称这个地址为变量的 指针。如果将变量的地址保存 在内存的特定区域,用变量来 存放这些地址,这样的变量就 是指针变量,通过指针对所指 向变量的访问,也就是一种对 变量的“间接访问
121指针与指针变量 设一组指针变量pa、pb、px、py、pm、pchl、pch2, 分别指向上述的变量a、b、x、y、m、chl、ch2,指针变 量也同样被存放在内存,二者的关系如图: 10002000pa 2001变量a 10022002pb 2002 2 变量b 0042004px 10062008py 2004 3.4 变量x 10082012p 10102020pch 2008 4.5 变量y 1012202lpch2 1014 1016 3.124 变量m 2012 2020 变量ch 021 变量ch2 计二章′指针
第十二章 指针 1 2 4.5 3.4 3.124 a b 2000 2002 2004 2008 2012 2020 2021 变量a 变量b 变量x 变量y 变量m 变量ch1 变量ch2 1012 pa 1004 2012 2000 2002 2004 2008 2020 2021 1000 1002 1006 1008 1010 1014 1016 pb px py pm pch1 pch2 设一组指针变量pa、pb、px、py、pm、pch1、pch2, 分别指向上述的变量a、b、x、y、m、ch1、ch2,指针变 量也同样被存放在内存,二者的关系如图: 12.1 指针与指针变量
122指针变量的定义与引用 、指针变量的定义 ■指针定义的格式:类型说明符*指针名; ■*表示这是一个指针变量, 变量名即为定义的指针变量名; 类型说明符表示本指针变量所指向的变量的数 据类型,也就是说一个指针变量只能指向同 类型的变量 如:int*p1; 表示p是一个指针变量,它的值是某个整型 变量的地址。或者说p1指向一个整型变量。至 于p1究竟指向哪一个整型变量,应由向p1赋予 的地址来决定。 第十二章指针
第十二章 指针 ◼ 指针定义的格式: 类型说明符 *指针名; ◼ *表示这是一个指针变量, 变量名即为定义的指针变量名; 类型说明符表示本指针变量所指向的变量的数 据类型,也就是说一个指针变量只能指向同一 类型的变量。 如:int *p1; 表示p1是一个指针变量,它的值是某个整型 变量的地址。或者说p1指向一个整型变量。至 于p1究竟指向哪一个整型变量,应由向p1赋予 的地址来决定。 12.2 指针变量的定义与引用 一、指针变量的定义
122指针变量的定义与引用 二、指针变量的赋值 赋值形式:&变量名; &:取地址符 8a表示变量a的地址,&b表示变量b的地址。变 量本身必须预先说明。 ■指针变量同普通变量一样,使用之前不仅要定 义说明,而且必须赋予具体的值。未经赋值的 指针变量不能使用,否则将造成系统混乱,甚 至死机。 指针变量的赋值只能赋予地址,决不能赋予任 何其它数据,否则将引起错误。 第十二章指针
第十二章 指针 ◼ 赋值形式: & 变量名; &:取地址符 &a表示变量a的地址,&b表示变量b的地址。变 量本身必须预先说明。 ◼ 指针变量同普通变量一样,使用之前不仅要定 义说明,而且必须赋予具体的值。未经赋值的 指针变量不能使用,否则将造成系统混乱,甚 至死机。 ◼ 指针变量的赋值只能赋予地址,决不能赋予任 何其它数据,否则将引起错误。 12.2 指针变量的定义与引用 二、指针变量的赋值