第六章复合数据类型
第六章复合数据类型
§ 指针类型
§ 数组类型
§ 字符串
§ 指向对象的指针
§ 指向函数的指针
§ 指针类型
指针概念
指针的定义
指针运算
引用类型
§ 指针类型
指针概念
指针:是一种数据类型
指针变量:具有指针类型的变量
指针变量的值:某变量的地址值
指针变量的类型:它所指向的变量的类型
指针可以指向任何数据类型,可以指向数组、指向函数、指向文件、指向指针(多级指针)
§ 指针类型
如:
int age=20;
int* ptr;
ptr=&age;
内存
内存地址
20
324848
324848
age
ptr
……
……
……
365626
§ 指针类型
指针本身也是一个变量
ptr=&i;
ptr=&j;
2df4(2df8)
156
99
1234
1238
123c
2df0
2df4
2df8
……
i=156
j=99
ptr=2df4
ptr=2df8
指针变量的值可以改变
§ 指针类型
指针的定义
必须“先声明,后使用”
int* ip; //定义一个指向整型数的指针ip
float* fp; //定义一个指向浮点数的指针fp
char* cp; //定义一个指向字符型的指针cp
int* (ipa)[10]; //指向整型数组的指针
int** ipp; //指向指针的指针
§ 指针类型
指针定义方法
在类型名后或指针变量名前加“*”
如:定义一个指针变量ip(可用以下格式)
int *ip;
int* ip; //在一条语句中定义的多个变量都
必须是指针
§ 指针类型
指针本身只有一种
各种类型指针变量的内存长度一样
(32位机,占4个字节)
可以用sizeof( )函数进行测试:
即: sizeof(int*)== sizeof( float*)
== sizeof( char*)== sizeof( char**)
== ……
§ 指针类型
指针的初始化(可在指针定义时初始化)
例:
int i1, i2;
int ia[10];
int* p1=&i1; //用变量的地址初始化指针
int* p2=p1; //用另一个指针初始化指针
int* p3=ia; //用数组名初始化指针
面向对象课件(第六章)05 来自淘豆网www.taodocs.com转载请标明出处.