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

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




#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

你可能也想看看

搜尋相關網站