前言
在c语言基础已经介绍过关于指针的概念和基本使用,本篇文章进一步介绍c语言中关于指针的应用。
一、字符指针
字符指针是指向字符的指针。
结果分析:
"abcedf"是一个常量字符串
p是一个指向常量字符串的指针
因为常量字符串不可被修改,所以使用const修饰,限制指针p
输出:
输出*p的值,p的值为常量字符串首元素的地址,即字符a的地址,所以输出的是a
输出p,当以%s格式输出时,会输出整个字符串。
结果分析:
常量字符串存储在只读数据区,相同的字符存储在同一块内存,所以第一个输出的是 ==
利用常量字符串初始化字符数组str1和str2,字符数组str1和str2会独立开辟空间存储
当把st1和str2的首元素地址分别赋值给ps1和ps2时,由于地址不相同,所以输出的是 !=
二、数组指针
2.1 数组指针基础
数组指针是指向数组的指针。
数组指针的语法定义如下:
数组元素类型 (*指针变量名)[数组大小];
//例如
int (*pa)[10