指针变量的常见类型简单的指针变量分为:int *p,*q;//定义p,q为指向整数类型变量的指针float*point;//point为指向float型变量的指针double*pd;//定义pd为指向double型变量的指针int(*pa)[10]://定义pa为指向int型数组的指针//定义qq为指向int型指针的指针int**qq;StudentInfo*pStu;//定义指向结构的指针pStu
指针变量的常见类型 简单的指针变量分为: int *p, *q; // 定义p,q为指向整数类型变量的指针 float *point; // point为指向float型变量的指针 double *pd; // 定义pd为指向double型变量的指针 int (*pa)[10];// 定义pa为指向int型数组的指针 int **qq; // 定义qq为指向int型指针的指针 StudentInfo *pStu; // 定义指向结构的指针pStu
5.1指针的概念指针是一种特殊的变量,特殊性表现在类型和值上。int *pointer = 0 ;从变量讲,指针也具有变量的三个要素:(1)变量名,这与一般变量取名相同,由英文字符开始(2)指针变量的类型,是指针所指向的变量的类型,而不是自身的类型。(3)指针的值是某个变量的内存地址。从上面的概念可知,指针本身类型是int型,因为任何内存地址都是整型的。但是指针变量的类型却定义成它所指向的变量的类型
指针是一种特殊的变量,特殊性表现在类型和值上。 从变量讲,指针也具有变量的三个要素: ➢ (1)变量名,这与一般变量取名相同,由英文字符开始。 ➢ (2)指针变量的类型,是指针所指向的变量的类型,而不 是自身的类型。 ➢ (3)指针的值是某个变量的内存地址。 ➢ 从上面的概念可知,指针本身类型是int型,因为任何内存 地址都是整型的。但是指针变量的类型却定义成它所指向 的变量的类型。 5.1 指针的概念 int *pointer = 0 ;
5. 1指针的概念1、使用取地址运算符(&)将变量的地址取出指针的赋值:赋给指针变量地址变量编号int i, j;名字2000XXXiint *i pointer = O;i pointer = &i;1XXX执行以上变量赋值语句后,30102000pointer就指向了变量i代表的i pointer内存单元。内存用户数据区
指针的赋值: ××× . ××× 0 . 3010 2000 内存用户数据区 地址 . 编号 i pointer _ 变量 名字i j 1、使用取地址运算符(&)将变量的地址取出 赋给指针变量 2000 int i, j; int *i_pointer = 0; i_pointer = &i; 执行以上变量赋值语句后, i_pointer 就指向了变量 i 代表的 内存单元。 5.1 指针的概念
5. 1指针的概念指针的赋值(续):2、将一个已有具体指向的指针变量赋值给另一个指针变量。ip1inti = 123;123&i&p1&iint*pl = 0 , *p2 = 0;p2=p1;pl =&i ;p2&i&p2p2 = pl;图5-1-2指针变量p1、p2的指向示意图执行以上变量赋值语句后就指向了相同的内存pl、p2 单元
指针的赋值(续): 2、将一个已有具体指向的指针变量赋值给另一个指针变量。 int i = 123; int *p1 = 0 , *p2 = 0; p1 = &i ; p2 = p1; 执行以上变量赋值语句后, p1、p2 就指向了相同的内存 单元。 &p1 &i 123 &i p1 i &p2 &i p2 p2=p1; 图5-1-2 指针变量p1、p2的指向示意图 5.1 指针的概念
5. 1指针的概念①直接访问:通过变量名访问。的访问方式:变量(内存)白i = 98;地址变量cout<<"i="<<i<<endl;编号名字2000XXX②间接访问:使用间接访问运算符通过指针变量中存放的值,找到最终要访问的变量。XXXI*i_pointer = 98;30102000ipointercout<<"i="<< *i_pointer<<endl;酒内存用户数据区
××× . ××× 2000 . 3010 2000 内存用户数据区 地址 . 编号 i pointer _ 变量 名字i j 变量(内存)的访问方式:①直接访问:通过变量名访问。 i = 98; cout<<"i="<<i<<endl; ②间接访问:使用间接访问运算符(*), 通过指针变量中存放的值,找到最终要 访问的变量。 *i_pointer = 98; cout<<"i="<< *i_pointer <<endl; 5.1 指针的概念