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) + );
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[];
Func1 *f2[]; uint a = ;
byte b = ;
printf("a:%d\nb:%c\n", a, b); char *p = func1("hello", "world");
printf("%s\n", p);
free(p); getchar(); return ; }
上一篇:gdb 调试程序


下一篇:无刷新分页 Ajax,JQuery,Json