嵌入式培训学习历程第二十二天
1.const 關鍵字 : 它限定變量不允許被修改
修飾整形變量時 const int a 等價于 ?int const a
const : 左結合性
2.傳入參數 :當參數指針只做傳入參數使用時,通常使用const 修飾
傳出參數 :?
必須是指針,在函數內部進行間接引用
在函數體內部,第一次調用時指向的空間無意義。
函數調用之后,它指向的空間有意義,并作為函數返回值,
傳入,傳出參數 : 第一次調用時,指向的空間有意義。并在最后作為函數返回值返回。
切記 : 不可返回函數中普通的局部變量的地址
3.函數返回值時指針
(1).可以返回傳入的地址
(2).可以返回函數中靜態內存的指針
(3).可以返回動態分配的內存的指針
4.函數指針的一般定義形式
函數返回值類型 (*指針變量名)(形參列表)
5.定義函數指針的根本目的 : 通過指針調用函數
本質區別 : 函數指針可以在程序運行的過程中動態地決定調用哪一個函數
6.回調函數
回調函數的一個重要應用實例就是實現“泛型”算法。
1 #include <stdio.h> 2 3 typedef void (*print_t)(void *); 4 5 /*該函數用來調用回調函數*/ 6 void print(print_t func, void *arg) 7 { 8 func(arg); 9 } 10 /*回調函數1*/ 11 void say_hello(void *arg) 12 { 13 printf("%s\n", (char *)arg); 14 } 15 16 /*回調函數2*/ 17 void count(void *arg) 18 { 19 printf("%d\n", (int)arg); 20 } 21 22 int main(void) 23 { 24 print(say_hello, (void *)"hello world!"); 25 print(count, (void *)100); 26 27 return 0; 28 } 回調函數實例7.泛型算法
泛型算法的優勢著重體現在對數據類型的普適性上 ,即: 對同一類問題,要操作的數據類型可能不同,但解決辦法應該相同
泛型算法的指導思想就是代碼的復用。
泛型算法在實現的過程中解決算法的大部分流程,只留下少量的處理細節的代碼給使用泛型函數的用戶去完成
8.函數指針數組
int (*a[10])(int, int);
9.擴展 :使用typedef 定義函數指針
typedef int (*p_t)(int, int)
好吧,,今天想錯了,。。等會得重新實現一下。
英語: parameter(參數) callback(回調) allocator(分配器)
?
?
?
?
?
?
?
?
?
?
?
?
想俺家小寶貝了。。晚安。。么么
轉載于:https://www.cnblogs.com/cxw825873709/p/3258661.html
總結
以上是生活随笔為你收集整理的嵌入式培训学习历程第二十二天的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (原创)c++中的类型擦除
- 下一篇: hdu 4352 XHXJ's LIS