c基础--typedef和结构体
#include <stdio.h>
struct STU {
int id;
char name[20];
char sex;
};
int main(void)
{
struct STU b = {10, "xwp", 'm'};
struct STU a;
a = b;
printf("%p\t%d\n", &a.id, a.id);
printf("%p\t%s\n", a.name, a.name);
printf("%p\t%c\n", &a.sex, a.sex);
printf("sizeof(a) = %d\n", sizeof(a));
printf("sizeof(struct STU) = %d\n", sizeof(struct STU));
return 0;
}
#include <stdio.h> //1.利用typedef封装数据类型 //2.利用typedef简化函数指针定义 //操作系统中含有的数据类型 typedef unsigned char u8_t; typedef unsigned int u32_t; typedef int ssize_t; typedef unsigned int size_t; //注意区分和define的区别 typedef char* NEWTYPE; int main(void) { NEWTYPE p1, p2, p3; // char *p1, *p2, *p3; 这里面三种都是指针 } /* #define NEWTYPE char* int main(void) { NEWTYPE p1, p2, p3; //char* p1, p2, p3; //这里只有p1是指针 } */ char *fun(char *a, int b, char *s[]){} //这里也可以看出指针数组可以使用二重指针来代替 char *(*p)(char *, int, char **); //将函数定使用typedef来定义 typedef char *(*)(char*, int, char **) FUN; FUN too(int a);