【C 语言】二级指针作为输入 ( 指针数组 | 复杂指针解读 )
生活随笔
收集整理的這篇文章主要介紹了
【C 语言】二级指针作为输入 ( 指针数组 | 复杂指针解读 )
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一、指針數組
- 二、復雜指針解讀
- 三、數組指針代碼示例
一、指針數組
定義一個數組指針 : 數組中的 元素 是 指向 字符串的指針 , 即 每個數組元素 只有 4 字節 ;
char *array[] = {"abc", "123", "258", "sfd"};遍歷上述 數組指針 : 使用 數組下標 與 指針 的形式進行遍歷 , 效果相同 ;
// 循環控制變量int i = 0, j = 0;// 數組大小int num = 0;// 計算數組大小num = sizeof(array) / sizeof(array[0]);// 打印上述數組for(i = 0; i < num; i++){// 使用 數組下標 與 指針 進行遍歷 , 效果相同printf("%s\n", array[i]);printf("%s\n", *(array + i));}二、復雜指針解讀
復雜指針閱讀參考
- 【C 語言】指針數據類型 ( 指針步長 | 復雜指針閱讀技巧 )
- 【C 語言】指針 與 數組 ( 指針 | 數組 | 指針運算 | 數組訪問方式 | 字符串 | 指針數組 | 數組指針 | 多維數組 | 多維指針 | 數組參數 | 函數指針 | 復雜指針解讀)3. 解讀 復雜的 指針聲明 ( 難點 重點 | ①找出中心標識符 ②先右 后左 看 確定類型 提取 ③ 繼續分析 左右看 … )
博客 , 閱讀復雜指針 ;
上述指針數組解析流程 :
- ① 中心標識符是 array
- ② 先往右看 , 遇到 [] , 說明這是一個數組 , 挖掉 array[] 內容 , 然后調轉方向往左看
- ③ 發現是 * , 說明數組中的元素是指針 , 挖掉 * , 往右看沒內容 , 往左看
- ④ 發現是 char , 說明指針指向的數據是 char 類型
char *array[] = {"abc", "123", "258", "sfd"}; 中 , array 是一個數組 , 數組中的元素的 char * 字符串 ,
/** 復雜指針閱讀* 參考 https://blog.csdn.net/shulianghan/article/details/121453520 和* https://hanshuliang.blog.csdn.net/article/details/78568351#3____________________2803* 博客章節進行閱讀** 復雜指針解析流程 :* 1. 中心標識符是 array* 2. 先往右看 , 遇到 [] , 說明這是一個數組 , 挖掉 array[] 內容 , 然后調轉方向往左看* 3. 發現是 * , 說明數組中的元素是指針 , 挖掉 * , 往右看沒內容 , 往左看* 4. 發現是 char , 說明指針指向的數據是 char 類型** array 是一個數組 , 數組中的元素的 char * 字符串** 這是 指針數組 , 數組元素 是 指針*/char *array[] = {"abc", "123", "258", "sfd"};這是 指針數組 , 數組元素 是 指針
三、數組指針代碼示例
代碼示例 :
#include <stdio.h> #include <stdlib.h> #include <string.h>void main() {// 循環控制變量int i = 0, j = 0;// 數組大小int num = 0;/** 復雜指針閱讀* 參考 https://blog.csdn.net/shulianghan/article/details/121453520 和* https://hanshuliang.blog.csdn.net/article/details/78568351#3____________________2803* 博客章節進行閱讀** 復雜指針解析流程 :* 1. 中心標識符是 array* 2. 先往右看 , 遇到 [] , 說明這是一個數組 , 挖掉 array[] 內容 , 然后調轉方向往左看* 3. 發現是 * , 說明數組中的元素是指針 , 挖掉 * , 往右看沒內容 , 往左看* 4. 發現是 char , 說明指針指向的數據是 char 類型** array 是一個數組 , 數組中的元素的 char * 字符串** 這是 指針數組 , 數組元素 是 指針*/char *array[] = {"abc", "123", "258", "sfd"};// 計算數組大小num = sizeof(array) / sizeof(array[0]);// 打印上述數組for(i = 0; i < num; i++){// 使用 數組下標 與 指針 進行遍歷 , 效果相同printf("%s\n", array[i]);printf("%s\n", *(array + i));}// 命令行不要退出system("pause");return; }執行結果 :
總結
以上是生活随笔為你收集整理的【C 语言】二级指针作为输入 ( 指针数组 | 复杂指针解读 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【C 语言】二级指针作为输出 ( 指针输
- 下一篇: 【C 语言】二级指针作为输入 ( 指针数