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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言 二级指针内存模型混合实战

發(fā)布時(shí)間:2023/11/30 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言 二级指针内存模型混合实战 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

http://www.cnblogs.com/zhanggaofeng/p/5485833.html

//二級(jí)指針內(nèi)存模型混合實(shí)戰(zhàn) #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <string.h>//將內(nèi)存模型①和內(nèi)存模型②的數(shù)據(jù)拷貝到內(nèi)存模型③ char ** threemodel(char **pin1,int num1,char (*pin2)[20],int num2,char **pin3,int *pnum3){if (pin1==NULL){printf("pin1==NULL\n");}if (pin2 == NULL){printf("pin2==NULL\n");}if (num1 == 0){printf("num1 == 0\n");}if (num2 == 0){printf("num2 == 0\n");}int num3 = num1 + num2;int i = 0, j = 0,index=0;//分配二級(jí)指針內(nèi)存堆空間pin3 = (char **)malloc(sizeof(char *)*num3);if (pin3==NULL){printf("分配二級(jí)內(nèi)存失敗!");return NULL;}for (i = 0; i < num1; i++){//獲取本段字符串的長(zhǎng)度int temp1 = (int)strlen(pin1[i]) + 1;//strlen()函數(shù)獲取的是字符串(不包括'\0')的長(zhǎng)度,因此長(zhǎng)度需要+1//分配一級(jí)指針內(nèi)存堆空間pin3[index] = (char *)malloc(sizeof(char)* temp1);if (pin3[index] == NULL){printf("分配一級(jí)內(nèi)存失敗!");return NULL;}//開始拷貝數(shù)據(jù) strcpy(pin3[index], pin1[i]);index++;}for (j = 0; j < num2; j++){int temp1 = (int)strlen(*(pin2 + j)) + 1;//*(pin2 + j)==pin2[j],但是*(pin2 + j)便于理解//分配一級(jí)指針內(nèi)存堆空間pin3[index] = (char *)malloc(sizeof(char)* temp1);if (pin3[index] == NULL){printf("分配一級(jí)內(nèi)存失敗!");return NULL;}//開始拷貝數(shù)據(jù)strcpy(pin3[index], *(pin2 + j));index++;}*pnum3 = num3;return pin3; }void main() {//第一種內(nèi)存模型char *pstr[3] = {"111","222","333"};//第二種內(nèi)存模型char tarr[3][20] = {"aaa","bbb","ccc"};//第三種內(nèi)存模型char **pdata = NULL;int num = 0,i=0;pdata = threemodel(pstr, 3, tarr, 3, pdata, &num);if (pdata!=NULL){for (i = 0; i < num; i++){if (pdata[i]!=NULL){printf("%s\n", pdata[i]);//釋放當(dāng)前內(nèi)存free(pdata[i]);//消除野指針pdata[i] = NULL;}}//釋放pdata所指向的內(nèi)存空間free(pdata);pdata = NULL;}system("pause"); }

?

?

?

分類:?C語言

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的C语言 二级指针内存模型混合实战的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。