日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【C 语言】二级指针案例 ( 字符串切割 | 返回 自定义二级指针 作为结果 )

發布時間:2025/6/17 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【C 语言】二级指针案例 ( 字符串切割 | 返回 自定义二级指针 作为结果 ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、二級指針案例 ( 返回自定義二級指針 )
  • 二、完整代碼示例





一、二級指針案例 ( 返回自定義二級指針 )



上一篇博客 【C 語言】二級指針案例 ( 字符串切割 | 返回 二維數組 作為結果 ) 中 , 使用的是二維數組 , 接收字符串切割結果 ;


本篇博客中 , 使用了 自定義的二級指針內存 , 存放分割后的數組 ;

首先 , 先定義二級指針 ;

// 存放分割結果, 此處自定義 二級指針 內存結構char **p = NULL;

然后 , 二級指針 指向 若干 一級指針 變量所在的內存 , 這里 申請 堆內存 , 存放 333 個 一級指針 變量 , 如果內存分配失敗 , 直接退出 ;

// 初始化 一維指針 變量 內存p = (char **)malloc(3 * sizeof(char *));// 內存分配失敗 退出if (p == NULL){return -1;}

最后 , 為每個 一級指針 分配對應的 444 字節堆內存 , 用于存放實際的 字符串 數據 ;

// 為每個 一維指針 分配 4 字節內存for (i = 0; i < count; i++){p[i] = (char *)malloc(4 * sizeof(char));}

代碼示例 :

// 存放分割結果, 此處自定義 二級指針 內存結構char **p = NULL;// 初始化 一維指針 變量 內存p = (char **)malloc(3 * sizeof(char *));// 內存分配失敗 退出if (p == NULL){return -1;}// 為每個 一維指針 分配 4 字節內存for (i = 0; i < count; i++){p[i] = (char *)malloc(4 * sizeof(char));}



二、完整代碼示例



完整代碼示例 :

#include <stdio.h> #include <stdlib.h> #include <string.h>/*** @brief split_str 分割字符串* @param str 要分割的字符串* @param c 分割依據* @param p 將分割結果寫入該二級指針內存* @param count 分割了多少份* @return*/ int split_str(const char *str, char c, char **p, int *count) {// 用于接收 str 參數char *p1 = NULL, *p2 = NULL;// 臨時變量int tmpcount = 0;// p1 , p2 初始化p1 = str;p2 = str;do{// 字符串中, 查找 字符 ','// 找到后 , 返回 逗號 第一次出現的指針p1 = strchr(p1, c);if (p1 != NULL){// 將 p1 指針 與 p2 指針之間的 字符拷貝出來// 這就是分割后的字符串if (p1 - p2 > 0){// 將 p2 后的 p1 - p2 個字符// 拷貝到數組中strncpy(p[tmpcount], p2, p1 - p2);// 實際的字符拷貝完成后 , 再將 '\0' 字符拷貝過去p[tmpcount][p1-p2] = '\0';// 拷貝完成后 , 字符tmpcount ++;// p2 和 p1 都設置為 指向 逗號后面字符// 重新開始查找 逗號 并分割p2 = p1 = p1 + 1;}}else{// 如果 p1 為 NULL , 說明沒有找到逗號字符 , 退出循環即可break;}} while (*p1 != '\0');*count = tmpcount;return 0; }/*** @brief 主函數入口* @return*/ int main() {// 存放返回值int ret = 0;// 字符串分割的份數int count = 4;// 按照逗號分割char split = ',';// 字符串char *str = "12,ab,345,";// 循環控制變量int i = 0;// 存放分割結果, 此處自定義 二級指針 內存結構char **p = NULL;// 初始化 一維指針 變量 內存p = (char **)malloc(3 * sizeof(char *));// 內存分配失敗 退出if (p == NULL){return -1;}// 為每個 一維指針 分配 4 字節內存for (i = 0; i < count; i++){p[i] = (char *)malloc(4 * sizeof(char));}// 分割字符串ret = split_str(str, split, p, &count);// split_str 方法執行失敗if(ret != 0){printf("split error!\n");return ret;}// 打印分割結果for(i = 0; i < count; i++){printf("%s\n", p[i]);}// 釋放內存// 先釋放 num 個 一級指針for(i = 0; i < count; i++){if(p[i] != NULL){free(p[i]);p[i] = NULL;}}// 再釋放 二級指針if(p != NULL){free(p);}// 二維指針 置空p = NULL;// 命令行不要退出system("pause");return 0; }

執行結果 :

總結

以上是生活随笔為你收集整理的【C 语言】二级指针案例 ( 字符串切割 | 返回 自定义二级指针 作为结果 )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 制服.丝袜.亚洲.另类.中文 | 天天干夜夜嗨 | 古装做爰无遮挡三级 | 中日韩在线视频 | 国产精品福利在线播放 | 日韩无遮挡 | 污污内射久久一区二区欧美日韩 | 91午夜交换视频 | 久久综合伊人77777麻豆 | 欧美国产中文字幕 | 国产日本在线观看 | 亚洲成a人片 | 人人爱人人 | 亚洲第一二三区 | 男女搞黄网站 | 干骚视频| 国产美女一区 | 欧美成人综合色 | 欧美一级爱爱 | 亚洲欧美日韩国产一区二区三区 | 久久久99精品国产一区二区三区 | 天天干天天色天天 | 国产精品欧美综合 | 国产又粗又猛视频 | 射进来av影视 | 亚洲男同视频 | 奇米影视四色在线 | 日本一区二区三区免费电影 | 超碰公开免费 | 亚洲精品自拍偷拍 | 黄色片在线视频 | av在线色 | 日日夜夜婷婷 | 先锋av资源网 | 污视频免费在线 | 亚洲韩国精品 | 亚洲av无码乱码国产精品 | 538国产精品一区二区免费视频 | 国产亚洲欧美精品久久久久久 | 国产一国产精品一级毛片 | 久久久福利 | 人妖粗暴刺激videos呻吟 | 亚洲国产精品久久久久婷婷老年 | 橹图极品美女无圣光 | √天堂中文官网8在线 | 网爆门在线 | 天天综合网天天综合色 | 国产成人午夜精品无码区久久 | 首尔之春在线看 | 日噜噜夜噜噜 | 亚洲a免费 | 国产区在线看 | 成人教育av在线 | 99热只有这里有精品 | 日本成人小视频 | 男女操操 | 天天天天色 | 日韩美女激情视频 | 日本大乳美女 | 欧美拍拍 | 日韩中文字幕一区二区三区四区 | 亚洲一区二区在线视频 | 国产在线视频资源 | 国产在线一区二区 | 污网站免费在线观看 | 亚洲国产视频在线观看 | 26uuu国产精品视频 | 放荡的美妇在线播放 | 国产成人精品自拍 | 欧美 日韩 国产 在线 | 日本不卡不卡 | 91精品久| 天天干天天干天天操 | 秘密基地在线观看完整版免费 | 日韩三级电影网址 | 日本成人三级电影 | 久久久久人妻一区精品 | 欧美性俱乐部 | 国产精品成人久久久久久久 | av国产片| 亚洲激情第一页 | 精产国品一二三产品蜜桃 | 91av视频免费观看 | 中文字幕在线成人 | 国产精品美女自拍视频 | 精品欧美色视频网站在线观看 | 搞中出 | 国产精品一区二区视频 | 精品国产黄色片 | 日韩欧美中出 | 蝌蚪网在线视频 | 色综合国产 | 操操操操操操操操操操 | 午夜xxxx| 国产欧美日韩精品区一区二污污污 | 97精品一区二区视频在线观看 | 国产精品欧美性爱 | 日本一区二区三区免费在线观看 | 国产精品久久久久久久久久久久久久久久久久 |