zoukankan      html  css  js  c++  java
  • 嵌入式培训学习历程第二十二天

      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
    ", (char *)arg);
    14 }
    15 
    16 /*回调函数2*/ 
    17 void count(void *arg)
    18 {
    19     printf("%d
    ", (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(分配器)

                                    想俺家小宝贝了。。晚安。。么么

  • 相关阅读:
    HDU 4069 Squiggly Sudoku
    SPOJ 1771 Yet Another NQueen Problem
    POJ 3469 Dual Core CPU
    CF 118E Bertown roads
    URAL 1664 Pipeline Transportation
    POJ 3076 Sudoku
    UVA 10330 Power Transmission
    HDU 1426 Sudoku Killer
    POJ 3074 Sudoku
    HDU 3315 My Brute
  • 原文地址:https://www.cnblogs.com/cxw825873709/p/3258661.html
Copyright © 2011-2022 走看看