指针及其应用 关于指针的考点(12—24 分): 指针与指针变量的概念、指针与地址运算符
变量、数组、字符串、函数、结构体的指针,以及指向变量、数组、字符串、函数、结构体的指针变量,通过指针引用以上各类型数据
用指针作函数参数
返回指针值的指针函数
指针数组、指向指针的指针
main 函数的命令行参数
知识点归纳: 1.指针与指针变量的概念
(1)指针:就是内存中的一个存储单元的地址,即内存单元的编号
(2)指针变量:是一个能存放地址值的变量
通过它存放的地址值能间接访问它所指向的变量
2.指针变量的定义
类型名 *指针变量名 类型说明中可取 C 语言的有效类型,* 表示为指针型变量
如: char *c1,*c2; 表示 c1 与 c2 是指针变量,其基类型是字符型
注意:指针的基类型与其所指向的变量的类型要统一
指针变量的使用方法 (1)使指针变量指向某个变量,(即将某变量的地址值赋给指针变量)例: int x ; int *p=&x ; 或 int x ,*p; p=&x ; (2)用间址运算(运算符为*)访问所指变量,例: *p=5;//用作左值时代表所指的变量 x =*p+9;//用作右值时代表所指变量的值 注意:指针变量在使用之前一定要指向某变量,而不能用常数直接赋值 4.指针运算的优先级与结合性(主要涉及*、&、++、- -)
单目运算符优先级是相同的,但从右向左结合
重点理解: (1)*&a 等同于a; &*p 等同于&a
(2)*p++等同于*(p++) (3)*++p 等同于*(++p) (4)(*p)++与*(p++)的区别
(*p)++是变量值增值,相当于a++;而*(p++)则是用完当前值后,指针值增值,即相当于a, p++,是指向了新的地址
5.指针与一维数组(整型数组) (1)数组的地