2020年5月24日 星期日

[C語言] 2種函數參數傳遞方式



根據課程的第二階段的1-2 多項式-2的06:47的例子
我自己試寫,如下列圖檔
為什麼這樣會錯誤?




另外,影片中我有疑問:
1.程式中沒有m,那為什麼「*m」可以指向「math」?
2.我不懂為什麼影片中的程式碼polynomial(float x, float *m, int size)
*m要加*,但size卻不用加*。不都是從別的地方取來的?

2種函數參數傳遞方式, 函數內想要使用別人的陣列時, 只要傳遞陣列起始位址就可引參考引用. 而不必copy所有內容 (很花時間.)
size 只是傳給一個數字, 因為也沒有要在函數內修改傳進來的size變數, 所以可以傳值過去 (只有4個byte). 不過要傳size位址
也是可以的
將函數定義改成 int f(int x, int *math, int *size)
在主程式改成 f(x,math,&size) 來呼叫


沒有留言 :

張貼留言