[c] 涵式的指標參數

平常寫一個指標參數都很直覺得寫, 今天想到一個有趣的記法, 在這裡筆記一下..

最基本的是我們要傳 reference of variable時:
1: int a;
2: rewrite(&a);
3: void rewrite(int *a);
若忘記參數要怎宣告, 想到一個很有趣的記法就是, 由右往左推:
a. 在2時傳入a的位址, 勢必以 *a型態記錄
b. 而參考1, a是type int, 所以宣告 int.
=> "int *a"

ex.
1: char *str=NULL;
2: rename(&str);
3: void rename(char **str2);
str是個pointer, 存一個type char的address
在rename()中傳入一個address -> *str
又str是一個char * -> char**str

&str == str2
*str2 = (char*)malloc(...)

Comments

Popular posts from this blog

股票評價(Stock Valuation) - 股利折現模型

openwrt feed的使用

How to convert Markdown into HTML