目录
1.指针
2.字符指针
- 把常量字符串首字符的地址存放到p中
- *p ='w'; // 这种代码是错误的,因为abcdef是常量字符串不能被修改
- 答案:haha
- 两个数组的地址不相同
- 答案:hehe
- "abcdef"是常量字符串,理论上说不能修改,所以没有必要产生两份。p1和p2的地址相同
3.指针数组
- 指针数组是数组
4.数组指针
- 数组指针是指针 ,存放数组的地址
- [] 优先级比 * 高,所以需要(*p)加括号
- p是变量名,*说明p是一个指针
- int [10]:说明p指向一个数组,有十个元素,每个元素是int类型
数组指针的应用
- 至少用在二维数组以上
- 函数形参:参数是数组的形式
- arr二维数组名就是首元素地址
- 把arr二维数组想象成一维数组,那么一维数组首元素其实就是二维数组的第一行。
- 所以arr二维数组名就是第一行数组的地址,那么传递arr二维数组名,其实就是传递一个一维数组的全部地址,一维数组(1 2 3 4 5)有5个元素,每个元素类型为int。数组的地址要放到数组指针中去
- 参数是指针的形式:
- 打印的替换:
数组和指针的打印
5.总结