看板 C_and_CPP 關於我們 聯絡資訊
類似以下的關念 //主程式 double *matrix; //宣告指標 functionA(matrix); //函式A int functionA(&matrix) { int M=5; int N=3; matrix = (double *)malloc(M * N * sizeof(double)); return 0; } 函式A就是個配置矩陣大小的作用 不過在matrix還沒被配置時 可否傳址給函式A呢?? 十誡中好像有提到這樣不行任意使用未給值的指標(因為不知道指到哪) 傳指標的址算不算使用啊?? 很怕如果剛好OK後來有問題會很麻煩 想請教一下大家 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.63.180
Bencrie:這樣沒有問題,未初始化是指matrix裡存的地址不明 08/03 22:25
Bencrie:然而matrix這個變數的地址是已知的。 08/03 22:26
KSJ:感謝樓上~ 08/03 22:30
QQ29:你這樣寫不會過吧 要寫成 funA(double *&matrix) 08/04 01:34
KSJ:樓上這樣的語法是?? 08/04 02:06
KSJ:我照本來的寫法 會過哦 08/04 02:09
KSJ:QQ29 我看錯了 囧 你的寫法是對的 原文手誤 08/04 02:10
KSJ:我是這樣 double* &matrix 所以一時看不出來 囧 08/04 02:12
su31o4gj83:或是用funcA(&matrix)與int funcA(double **matrix_l) 08/04 10:47