Re: [問題] 函數 陣列 指標 的相關問題?!
...略...
: 我將問題做成一個簡易的程式碼 http://ideone.com/PmKhU
...略...
因為13戒已經有詳解,所以我不特別解說你的疑惑.
只大概解說用法的不同,
1.
int test(double* pD)
{
return 1;
}
int main()
{
double D[1000];//也可以用double *D=new double[1000];
test(D);
return 0;
}
這種用法是處理已經開好的陣列,
然後傳入函式.
但是有一種情況是會在函式裡面才給予陣列大小.
就是下面的用法
2.
int test(double** ppD)
{
*ppD = =new double[1000];
return 1;
}
int main()
{
double* D;
test(&D);
return 0;
}
這種的需求是有的,
例如getline這函式,
就是類似的觀念.
當然你也可以用c++ ref的幫忙,
那就變成下面那樣.
int test(double* &ppD)
{
ppD = =new double[1000];
return 1;
}
int main()
{
double* D;
test(D);
return 0;
}
至於其中的原理,請去看13戒.就是置底的文章.
但是以lib 函式的用法,
通常先在傳入函式前先開好空間大小!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.251.48.98
→
02/26 14:37, , 1F
02/26 14:37, 1F
→
02/26 14:38, , 2F
02/26 14:38, 2F
※ 編輯: angleevil 來自: 111.251.48.98 (02/26 14:39)
→
02/26 14:39, , 3F
02/26 14:39, 3F
推
02/26 22:07, , 4F
02/26 22:07, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章