一、基本使用
1. 定义指针变量的格式:变量类型 *变量名。
2. 指针变量只能指向跟它同一类型的变量的地址。比如 int *p; 那么这个指针变量p只能指向int类型的变量的地址。
3. 指针只能用来存储地址,它可以根据一个地址,访问对应的存储空间。
4. 使用指针访问存储空间的语法:*指针变量名。比如 int a = 10; int *p = &a; 那么*p就等于10。
二、使用注意
1. 指针变量未经初始化, 不要拿来间接访问其他存储空间。
2. 定义指针变量时的*跟使用指针访问存储空间时的*是不一样的。比如 int a = 10; int *p; *p = &a;这样的写法是错误的。
3. 任何指针都只占用8个字节的存储空间。
三、指针与数组
1. 数组名就是数组的地址,也是数组首元素的地址。
2. 使用指针访问数组中各元素的方法:比如:
int ages[5] = {3, 5, 2, 6, 1};
int *p = &ages[0];
/*
p --> &ages[0]; p+1 --> &ages[1]; p + 2 --> &ages[2]; p + i --> &ages[i];
*/
所以使用p指针访问数组中第二个元素的方式为:*(p + 1);
指针变量的加1取决于指针的类型,如果为int,那每加1则增加4个字节。
四、指针与字符串
1. 利用指针定义字符串的方式:char *p = “itcast”;
2. 利用指针定义的字符串是常量,不能再修改。
3. 指针变量指向字符串的首字符。
4. 指针读取内存地址中的字符串时,以‘/0’为结束标识。
------- <a href="http://www.itheima.com" target="blank">ios培训</a>、<a href="http://www.itheima.com" target="blank">android培训</a>、期待与您交流! ----------