typedef的使用1

Posted 木鸟飞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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\nb:%c\n", a, b);
    
    char *p = func1("hello", "world");
    printf("%s\n", p);
    free(p);


    getchar();

    return 0;

}

 

以上是关于typedef的使用1的主要内容,如果未能解决你的问题,请参考以下文章

错误:只能有一个名为“fragmentName”的片段

探究C/C++ typedef的秘密

PAT 数列的片段和简单数论

避免重复代码:typedef/使用具有默认参数的模板类 (C++14)

求解答c语言结构体定义中typedef的作用

工作 MSVC 代码的 Clang 中的“使用不同类型的 Typedef 重新定义”错误