第10章指针类型 (3)指针变量只能用于存放指定类型数据的地址 如以上定义的一些指针变量,p1、p2、p3只能存放整 型数据的地址,q1、q2、q3只能存放实型数据的地址, r1、r2、r3只能存放字符型数据的地址,t1l、t2、t3只 能存放 [struct date型数据的地址
第10章 指针类型 (3) 指针变量只能用于存放指定类型数据的地址。 如以上定义的一些指针变量,p1、p2、p3只能存放整 型数据的地址,q1、 q2、 q3只能存放实型数据的地址, r1、r2、r3只能存放字符型数据的地址,t1、t2、 t3只 能存放struct date型数据的地址
第10章指针类型 (4)指针变量不能直接赋以具体地址值,不能从键 盘输入值。指针变量通过间接赋以相关数据的地址, 或调用存储空间分配函数得到值。例如:蕌 inti,j,k;蕌 intp1=&i,*p2=&j,*p3=&k;/pl得到i的地址, p2得到j的地址,p3得到k的地址*/
第10章 指针类型 (4) 指针变量不能直接赋以具体地址值,不能从键 盘输入值。指针变量通过间接赋以相关数据的地址, 或调用存储空间分配函数得到值。例如: int i, j, k; int*p1=&i,* p2=&j,* p3=&k;/* p1得到i的地址, p2得到j的地址, p3得到k的地址*/
第10章指针类型 (5)指针类型隐含在指针变量的定义中。例如,在上 面定义指针变量p1、p2、p3时,实际上在背后隐含定义 了一指向整型数据的指针类型,从形式上可以将int看成 是指向整型数据的指针类型。蕌 与数组定义一样,通过 ty pede可以将指针类型与指 针变量分离。例如,上面定义的指针变量p1、p2、p3, 可以改用如下形式:蕌 typedef int *INTPOiNT; HE INTPOINT pl, p2, p3;
第10章 指针类型 (5) 指针类型隐含在指针变量的定义中。例如,在上 面定义指针变量p1、p2、p3时,实际上在背后隐含定义 了一指向整型数据的指针类型,从形式上可以将int*看成 是指向整型数据的指针类型。 与数组定义一样,通过typedef可以将指针类型与指 针变量分离。例如,上面定义的指针变量p1、 p2、 p3, 可以改用如下形式: typedef int *INTPOINT; INTPOINT p1, p2, p3;
第10章指针类型 (6)指针变量本身占有2字节的存储空间 (7) Void*指针类型定义的指针变量,不指向哪 种特定类型的数据,在实际使用时通过强制类型转换 成指向特定类型的数据
第10章 指针类型 (6) 指针变量本身占有2字节的存储空间。 (7)“void *”指针类型定义的指针变量, 不指向哪一 种特定类型的数据,在实际使用时通过强制类型转换 成指向特定类型的数据
第10章指针类型 2.指针变量所指向的变量特定类型的数据蕌 例如,对指针变量pl、p2、p3,假定已有值,*pl、 *p2、*p3代表指针变量pl、p2、p3所指向的数据,也 就是pl、p2、p3的值对应的存储单元里存放的数据 称为指针变量所指向的变量,简称指针指向变量。 如果指针变量pl、p2、p3分别存放整型变量i、j、 k的地址,则pl指向i,p2指向j,p3指向k。图10-1来 直观反应指针变量与指针指向变量的关系
第10章 指针类型 2. 指针变量所指向的变量特定类型的数据 例如,对指针变量p1、p2、p3,假定已有值, *p1、 *p2、 *p3代表指针变量p1、p2、p3所指向的数据,也 就是p1、p2、p3的值对应的存储单元里存放的数据, 称为指针变量所指向的变量,简称指针指向变量。 如果指针变量p1、 p2、 p3分别存放整型变量i、 j、 k的地址, 则p1指向i, p2指向j,p3指向k。图10 - 1来 直观反应指针变量与指针指向变量的关系