最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
C语言 指针数组 和 指向指针的指针
时间:2022-06-25 04:43:53 编辑:袖梨 来源:一聚教程网
指针数组
指针数组是一种特殊的数组,这类数组存放的全部是同一数据类型的内存地址。指针数组的定义形式为:
数据类型 *数组名[长度];
例如:
const char *c[4] = { "China", "USA", "Rassia", "Japan" }; // 定义长度为 4 的常量字符型指针数组,将数组元素分别指向 4 个 字符串常量
int i;
for (i = 0; i < 4; i++)
{
puts( *(c + i) ); // 数组指针数组元素所指向的字符串
}
指向常量的指针,必须用 const 定义为常量指针,以避免修改指针所指向的数据造成程序错误。由于 [] 符号比间接运算符 * 的优先级要高,所以首先是数组形式 c[4],然后才是与 * 结合,这样,指针数组内包含 4 个指针 c[0], c[1], c[2], c[3],分别指向 4 个字符串的首地址。
指针变量
指针变量可以指向另一个指针变量,这种操作并不是将一个指针变量所指向的内存地址传递给另一个指针变量,而是定义一种指向指针类型的指针变量,可将其称为双重指针。双重指针的定义形式为:
数据类型 **变量名;
其中使用 2 个 间接运算符,如下例所示:
int i, *pi, **dpi; // 声明整型变量 i、整型指针变量 pi 和 整型双重指针变量 dpi
pi = &i; // 将变量 i 的地址赋给整型指针变量 pi
dpi = π // 将整型指针变量 pi 的地址赋给整型双重指针变量 dpi
**dpi = 100; // 间接引用变量 i,给变量 i 赋值
printf("%d", i); // 输出变量 i 的值
代码中定义了双重指针变量 dpi,将双重指针变量指向指针变量是,必须使用 取地址运算符得到指针变量自身的内存地址。通过双重指针变量间接引用所指向的变量时,因首先要获取其所指向指针变量的地址,然后再要获得所指向指针变量中保存的内存地址,所以需要用 2 个取地址运算符完成这 两重运算。
相关文章
- 江南百景图游宴廊怎么样 江南百景图游宴廊建筑介绍 12-26
- 江南百景图碎金泉怎么样 江南百景图碎金泉建筑介绍 12-26
- 炉石传说兑换码大全 12-26
- 重返未来1999趋光性研究夜幕之外怎么玩 趋光性夜幕之外活动介绍 12-26
- 光遇12.26大蜡烛在哪里 光遇12月26日大蜡烛位置攻略 12-26
- 江南百景图金谷园怎么样 江南百景图金谷园建筑介绍 12-26