c基础--typedef和结构体
2015-09-23 10:26
423 查看
#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);
相关文章推荐
- 全面讲解Tomcat下SSL证书的配置(二)
- Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart
- ORACLE 的OVER PARTITION BY
- Matlab-图像直方图函数imhist详解
- 【VC++】程序运行到if (CMDIFrameWndEx::OnCreate(lpCreateStruct) == -1)异常的解决方案
- EXECUTORSERVICE线程池
- 洗牌算法,普通数组方式
- 关于线程的一些个人看法(上)
- 树上第k小,可持久化线段树+倍增lca
- #研发解决方案#基于Apriori算法的Nginx+Lua+ELK异常流量拦截方案
- AssetManager中的路径参数不能包含"assets/"
- iOS9开发之新增通知行为详解
- 设置表格隔行变色,以及鼠标悬浮变色效果
- Xshell乱码解决方法设置
- Linux下搭建DNS 服务器
- WmiPrvSE.exe内存占用异常
- OC学习Runtime之Method swizzling
- iClap助力移动互联网企业高效实现规范化管理
- 第一行代码笔记1
- 安卓的手机抓包