现在位置: 首页 > C 教程 > 正文

C 练习实例77

C 语言经典100例 C 语言经典100例

题目:练习指向指针的指针(使用多级指针遍历字符串数组)。

程序分析:无。

程序源代码:

实例

// 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例 C 语言经典100例