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	%d
", &a.id, a.id);
    printf("%p	%s
", a.name, a.name);
    printf("%p	%c
", &a.sex, a.sex);
    printf("sizeof(a) = %d
", sizeof(a));
    printf("sizeof(struct STU) = %d
", 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);
原文地址:https://www.cnblogs.com/zhuyaguang/p/4831473.html