[爆卦]c動態陣列是什麼?優點缺點精華區懶人包

為什麼這篇c動態陣列鄉民發文收入到精華區:因為在c動態陣列這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者hunkchen2000 (我沒錢)看板PLT標題[問題]請問C語言的二為動態陣列字串輸入時間S...

c動態陣列 在 MenClub.hk Instagram 的最讚貼文

2021-04-23 16:10:15

【Apple】春季發布會五大新品懶人包:七色iMac、M1 iPad Pro、AirTag、紫色iPhone 12 Apple春季發布會於今日凌晨舉行,會內除咗公布傳咗好耐嘅AirTag、七色iMac同iPad Pro,就連iPhone 12都有新顏色。小編為大家準備好懶人包,一次過睇晒所有重點...




#include <stdio.h>
#include <stdlib.h>

int main()
{
int i,j;
char k[10];


char **ptr = (char **) malloc(2 * sizeof(char *));
for (i=0;i<3;i++)
{
ptr[i]=(char *) malloc(3 * sizeof(char));
}
//---------------以上適配置二為記憶體-----------------------//

for(int i=0;i<2;i++)
{
for(int j=0;j<3;j++)
{
fgets(k,1000,stdin);
ptr[i][j]=k;
printf("ptr[%d][%d] is %s\n", i,j ,k);
}
}


for(int x=0;x<2;x++)
{
for(int y=0;y<3;y++)
{
printf("ptr[%d][%d]=%s\n", i , j , ptr[x][y]);
}
}

//回收ptr陣列的第二維記憶體
for (i=0;i<2;i++)
{
free(ptr[i]);
}

free(ptr); //回收ptr陣列的第一維記憶體 system("pause");
return 0;

}


請問各位強者
我想建立一個\二為動態記憶體陣列,並且用手動方式輸入字串
把字串存入陣列裡面,例如2*3的陣列一共六個格子,我可以手動
輸入六筆資料,但是這個程式哪邊有問題???
可以幫我改一下嗎???



C:\Users\meakj\Desktop\DEVC++\main.cc
[Error] invalid conversion from 'char*' to 'char' [-fpermissive]

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.116.220.174
※ 文章網址: https://www.ptt.cc/bbs/PLT/M.1474766006.A.EE4.html
LPH66: 字串跟字元不一樣, 字串是字元陣列 09/25 09:53
LPH66: 所以若你想開二維字串陣列則需要開三維字元陣列 09/25 09:53
LPH66: 第三維的大小就是你的字串最長長度 09/25 09:54
LPH66: 看你的 fgets 應該就是 1000 09/25 09:54
LPH66: 啊, 要多 1 給 '\0' 所以是 1001 09/25 09:55
suhorng: C/C++ 相關程式撰寫問題請轉到 C_and_CPP 板 09/25 10:07

你可能也想看看

搜尋相關網站