9.7指针简介
9.7 指针简介
指针是一个值为内存地址的变量(或数据对象)
char类型变量的值是字符,int类型变量的值是整数,指针变量的值是地址
把指针作为函数参数使用,以及为何要这样用
ptr = &pooh; // 把pooh的地址赋给ptr
说ptr“指向”pooh。ptr和&pooh的区别是ptr是变量,而&pooh是常量
要创建指针变量,先要声明指针变量的类型
与指针相关的运算符
地址运算符:&
一般注解:
后跟一个变量名时,&给出该变量的地址
地址运算符:*
一般注解:
后跟一个指针名或地址时,*给出储存在指针指向地址上的值
声明指针
pointer ptr; // 不能这样声明指针
为声明指针变量时必须指定指针所指向变量的类型,因为不同的变量类型占用不同的存储空间,一些指针操作要求知道操作对象的大小
10.3指针和数组
指针的值是它所指向对象的地址。地址的表示方式依赖于计算机内部的硬件
在指针前面使用*运算符可以得到该指针所指向对象的值
下面的等式体现了C语言的灵活性:
dates + 2 == &date[2] // 相同的地址
*(dates + 2) == dates[2] // 相同的值
以上关系表明了数组和指针的关系十分密切,可以使用指针标识数组的元素和获得元素的值