看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《spiderman007 (千里之外)》之銘言: : 開發平台(Platform): (Ex: VC++, GCC, Linux, ...) : dev-c : 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) : 問題(Question): : 如題... : 可以將資料用二維陣列寫入非對稱的多維陣列嗎?? 如下 : 1 : 1 2 : 1 2 3 : 1 2 3 4 : 再show出來嗎?? : 餵入的資料(Input): : 預期的正確結果(Expected Output): : 錯誤結果(Wrong Output): : 程式碼(Code):(請善用置底文網頁, 記得排版) : 補充說明(Supplement): XD 終於有小弟可以回的問題了~~~ 這個嘛... 我是不知道 大部分人怎麼做啦 但是 我接過一些些案子 看過一些些 platform or 3rd lib. 對於長度未定的array 在C裡面 最好的解法是 sized array. ex: struct myStruct; // 前置宣告 struct szArray{ unsigned int len; //這個放長度 struct myStruct *pData; // 這個放 pointer指向instance. }; so 我想你的要求 code類似這樣 struct szArray{ unsigned int len; int *pData; }; struct szArray my_array[4]; for( int i=0; i<4; i++){ szArray *pa=&my_array[i]; pa->len=i+1; pa->pData = calloc( sizeof(int), i+1 ); /* init internal array */ } ------ how to show? ------- for( int i=0; i<4; i++){ szArray *pa=&my_array[i]; for( int j=0; j<pa->len; j++) printf("%d ", pa->pData[j]; printf("\n"); } -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.170.64.171
angleevil:不能直接用printf("%d ", my_array[j]);嗎?竟然你督用 07/09 06:27
angleevil:pointer去間街取值,在how to show那邊就直接印吧! 07/09 06:29
firejox:你沒有typedef.... 07/09 09:22