C 练习实例77
题目:练习指向指针的指针(使用多级指针遍历字符串数组)。
程序分析:无。
程序源代码:
实例
// Created by www.runoob.com on 15/11/9.
// Copyright © 2015年 菜鸟教程. All rights reserved.
#include <stdio.h>
#include <stdlib.h>
int main() {
// 定义一个字符指针数组,存储字符串常量
const char *s[] = {"man", "woman", "girl", "boy", "sister"};
// 定义一个指向字符指针的指针变量
const char **q;
int k;
// 遍历数组,并通过指向指针的指针输出每个字符串
for (k = 0; k < 5; k++) {
q = &s[k]; // 让指针 q 指向字符指针数组中第 k 个元素的地址
printf("%s\n", *q); // 解引用 q,输出对应的字符串
}
return 0;
}
代码说明:
指向指针的指针练习:
q被定义为const char **类型,它是一个指向const char *的指针。通过将q赋值为&s[k],q指向了字符指针数组s中第k个元素的地址。q = &s[k]的作用:s[k]是字符指针数组中的第k个元素,&s[k]表示第k个元素的地址。因此,q最终指向了字符指针数组中的一个元素。printf("%s\n", *q)的作用:*q解引用q,即获取s[k]指向的字符串内容,然后打印出来。
以上实例运行输出结果为:
man woman girl boy sister
C 语言经典100例
点我分享笔记