• typedef的使用1——引入


    #include <stdio.h>
    #include <string.h>
    
    //#define _CRT_SRCURE_NO_WARNING
    
    #pragma warning(disable:4996)
    typedef unsigned int uint;
    typedef unsigned char byte;
    
    struct student {
        int ID;
        char *name;
        int age;
    };
    //这样我们之前写的学生类 就会有一个更像javaBean的名字 Student
    typedef struct student Student;
    
    
    //回顾我们一个字符串拼接的函数
    
    const char *func1(const char *str1,const char *str2){
    
        if (str1 != NULL&&str2 != NULL){
        
            char * p = malloc(strlen(str1) + strlen(str2) + 1);
            strcpy(p, str1);
            strcat(p, str2);
            return p;
        
        }
    
    }
    typedef const char *Func1 (const char *, const char *);
    //typedef是类型定义的意思。我们把一个函数定义叫做Func1.这个函数是:是具有两个参数并且返回值是const char* 的,并且这两个参数 都是const char * 类型的。
    
    //这样我们的回调函数就比较好写了
    
    //回调函数还是要多背几遍的。
    
    const char *mybackcall(Func1, const char*, const char *);
    
    const char *mybackcall1(const char *func1(const char *, const char *), const char *, const char *);
    
    const char *mybackcall2(Func1 *f, const char *s1, const char *s2){
        return f(s1, s2);
    }
    const char *mybackcall3(const char *(func1(const char *, const char *)), const char *s1, const char *s2){
        return func1(s1, s2);
    }
    typedef const char *(* Func2) (const char*, const char *);
    
    const char * myback(Func2, const char *, const char *);
    
    const char * myback1(Func2 f, const char * str1, const char * str2){
        return f(str1, str2);
    }
    
    const char * myback3(const char *(*)(const char *, const char *), const char *, const char *);
    
    const char * myback2(const char * (*f)(const char *, const char *), const char *str1, const char *str2){
        return f(str1, str2);
    }
    
    
    
    
    
    
    
    
    
    int main(){
    
        Func2 f1[10];
        Func1 *f2[10];
    
        uint a = 23;
        byte b = 65;
        printf("a:%d
    b:%c
    ", a, b);
        
        char *p = func1("hello", "world");
        printf("%s
    ", p);
        free(p);
    
    
        getchar();
    
        return 0;
    
    }
  • 相关阅读:
    Python函数之冒泡算法
    Python内置函数之--open
    Python 基础5:内置函数一
    27、数组的操作
    26、字符串的操作
    25、求最大公约数和最大公倍数——循环
    24、输出九九口诀乘法表——循环
    查找【操作】
    04、结构体两种传参形式
    1、电脑联网小技巧:网络共享之台式机、笔记本、手机
  • 原文地址:https://www.cnblogs.com/letben/p/5243388.html
Copyright © 2020-2023  润新知