浅谈VC中define的使用方法
来源:互联网 发布:周琦nba体测数据 编辑:程序博客网 时间:2024/06/05 08:20
1、用来定义常数
例子:
#define MAXTIME 60int i;for(i =0; i < MAXTIME; i++){ //todo something}
2、定义算式`
例子:
①
#define COUNTOF(array) (sizeof(array) / sizeof(*array) )typedef struct{ int num; char name[20]; float score;}student;student stu[] ={ {1001, "zhuque", 97.5}, {1003, "zuozhu", 83 }, {1004, "minren", 83 }, {1007, "guaili", 78 }, {1010, "xiaoli", 80 }};const student* FindStd(int number){ int i; const student* std; std = stu; printf("sizeof(stu) = %d\n", sizeof(stu)); printf("sizeof(*stu) = %d\n", sizeof(*stu)); printf("COUNTOF(stu)=%d\n",COUNTOF(stu)); for (i = 0; i < COUNTOF(stu); i++){ printf("YES YOU CAN\n");if (std->num == number){printf("here\n");return std;}std++;}if( i >= COUNTOF(stu) ){return NULL;}}
3、用来定义函数
#include <stdio.h>int MAX(unsigned long, unsigned long, unsigned long);#define RGB88(g,b) ((g)>(b)?(g):(b))#define RGB888(r,g,b) MAX(r,g,b)int MAX(unsigned long r, unsigned long g, unsigned long b){return RGB88(r,RGB88(g,b));}int main(){unsigned long r = 100, g = 200, b = 300;printf("THE MAX NUMBER IS [%d]\n", RGB888(r,g,b));}输出结果 300
4、用于结构体封装
#define GDefClass(GClassName,GSuperClass)\struct GClassName {\GSuperClass gscBase;#define GDefEnd\};typedef struct GObject{char * name;int iId;float score;};GDefClass(GBaseWindow,GObject)short nX;short nY;short nWidth;short nHeight;GDefEnd
以上的 GDefClass(GBaseWindow,GObject)
....
GDefEnd
就相当于
struct GBaseWindow {GObject gscBase;short nX;short nY;short nWidth;short nHeight;}
这个用法就像C++的类继承的功能,以上的用法就是实现了C中的结构体继承。
- 浅谈VC中define的使用方法
- C++中#define的使用方法
- C++中#define的使用方法
- vc 中SAFEARRAY的使用方法
- VC中#Pragma的使用方法
- vc 中CListCtrl的使用方法
- VC中#Pragma的使用方法
- vc中ShellExecute的使用方法
- vc中ShellExecute的使用方法
- vc中ShellExecute的使用方法
- vc中tinyxml的使用方法
- vc中ShellExecute的使用方法
- #define的一些使用方法
- C语言中#define使用方法
- 浅谈C语言中"#ifndef/#define/#endif"的作用
- C语言中define的全部使用方法总结
- 浅谈C++中stack/queue 的使用方法
- 浅谈Android Studio 中Gradle的使用方法
- VB.net版本的数据库访问类DataBaseAccess
- C/C++中函数指针的含义
- 百度地图API之MyLocationOverlay的使用(Android)
- 配置VC++6.0下驱动程序编译环境的步骤
- 网上的一篇好文章
- 浅谈VC中define的使用方法
- android的Intent应用大全
- 多字段查询、搜索心得
- 创建和使用Android library工程
- Chrome 插件初学开发
- android截取当前view为图片
- Mysql 修改密码
- Go语言开发工具 LiteIDE x10 发布
- Android修改Bitmap图片像素信息 R G B颜色值