1、概念
#define命令是C语言中的一个宏定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本。
该命令有两种格式:一种是简单的宏定义,另一种是带参数的宏定义。
(1) 简单的宏定义:
#define <宏名> <字符串>
转载
精选
2012-02-19 19:56:50
1402阅读
今天整理了一些#define的用法,与大家共享!
1.简单的define定义
#define MAXTIME 1000
一个简单的MAXTIME就定义好了,它代表1000,如果在程序里面写
if(i<MAXTIME){.........}
编译器在处理这个代码之前会对MAXTIME进行处理替换为1000。
这样的定义看起来类似于普通的常量定义CONST,
转载
精选
2012-11-08 16:56:40
7188阅读
C语言的#define用法
转载
2021-07-28 16:24:00
980阅读
2评论
01 作用域 预编译作用域限本文全局,如: a.c中定义:#define TEST 1 b.c中定义:#define TEST 2 两者编译不交叉,互不影响。 若需#define TEST作用于a.c、b.c,可在a.c、b.c所添加的test.h中加入“#define TEST”。 02 一般用法
转载
2019-04-25 13:39:00
227阅读
2评论
文章目录前言一、stactic1.修饰局部变量2.修饰全局变量3.修饰函数二、关于register关键字1.寄存器2.读入数据三、define可以定义标识符常量和宏1.定义标识符常量2.定义宏四、寄
原创
2022-05-16 11:54:21
474阅读
在预编译阶段,编译器只是完成对于预处理指令的语法检查以及字符串常量的替换。也就是说在该阶段编译器并不做变量、函数等的语法检查。 可以写个简单的实验程序。 #include <stdio.h>
#define IRESULT xxxxx
typede int IRESULT;
xxxxx main()
{
printf("%d\n", sizeof(xxxxx));
} 此处t
原创
2013-10-11 22:06:51
947阅读
MFC虽然没有未来,但是我觉得MFC的思想还是有必要研究研究的,在MFC中或者一些底层代码的编写中,宏是相当好用的,为什么呢?因为宏只是简单的替换,不进行类型转换,替换就意味着灵活,而C语言编程的灵魂就是灵活啊。但是在高级语言中,甚至C++中,是提倡用const的,不提倡用#define,因为#define有一定的副作用,玩不好就没命了。这里我们讨论下#define的副作用。-----------
推荐
原创
2014-05-15 10:16:41
5027阅读
点赞
11评论
#include <stdio.h>#include <stdlib.h>#include <string.h>int main(void){ char *s; char *t; char *r; s = "abc";&
原创
2009-09-02 12:41:47
2208阅读
NSArray *persons = @[jack, tom, rose, lucy, bob, john, lily]; //指定谓词条件 NSPredicate *pre1 = [NSPredicate predicateWithFormat:@"age < 40"]; &n
原创
2015-08-19 08:46:24
903阅读
C语言编程 昨天1. 前言使用#把宏参数变为一个字符串,用##把两个宏参数贴合在一起.2. 一般用法3. 注意事项3.1 举例两句print会被展开为:分析: 由于AGE是宏,且作为宏toString和conStr的参数,并且宏conStr和toString中均含有#或者##符号,所以A不能被解引用。导致不符合预期的情况出现。3.2 解决方案结果:
转载
2021-03-13 16:17:42
232阅读
C语言中的Extern用法网上有很多帖子问C语言中Extern的用法,而且回答的详细程度各尽不同. 所以我就像写一篇博文来谈谈我对extern的看法,不一定十分恰当,只当大家共勉.在具体到Extern的用法之前,有两个概念必须要能分清楚:声明(Declaration)和定义(Definition)之间的区别. 声明一个变量只是宣布这个变量的属性,也就是说告诉编译器这个变量时什么类型(如int, l
转载
2022-03-11 14:48:16
142阅读
在C语言中,修饰符extern用在变量或者函数的声明前,用来说明“此变量/函数是在别处定义的,要在此处引用”。1. extern修饰变量的声明。举例来说,如果文件a.c需要引用b.c中变量int v,就可以在a.c中声明extern int v,然后就可以引用变量v。这里
转载
2022-09-30 09:50:00
52阅读
目录前言(%E5%89%8D%E8%A8%80)1.goto语句的缺点:(goto%E8%AF%AD%E5%8F%A5%E7%9A%84%E7%BC%BA%E7%82%B9%3A)2.goto语句的结构:(goto%E8%AF%AD%E5%8F%A5%E7%9A%84%E7%BB%93%E6%9E%84%EF%BC%9A)3.goto语句的用法:(goto%E8%AF%AD%E5%8F%A5%E7
原创
2022-10-19 18:31:05
168阅读
名称:sscanf() - 从一个字符串中读进与指定格式相符的数据.函数原型:
Int sscanf( string str, string fmt, mixed var1, mixed var2 ... );
int scanf( const char *format [,argument]... ); 说明:sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdi
转载
2023-05-11 19:25:14
368阅读
1、const的普通用法const int n = 10;意思很明显,n是一个只读变量,程序不可以直接修改其值。这里还有一个问题需要注意,即如下使用:int a[n];在ANSI C中,这种写法是错误的,因为数组的大小应该是个常量,而n只是一个变量。 2、const用于指针const int *p;int&n
原创
2013-08-26 09:38:40
10000+阅读
C语言中extern的用法:在C语言中,修饰符extern用在变量或者函数的声明前,用来说明“此变量/函数是在别处定义的,要在此处引用”。1. extern修饰变量的声明。举例来说,如果文件a.c需要引用b.c中变量int v,就可以在a.c中声明extern int v,然后就可以引用变量v。这里需要注意的是,被引用的变量v的链接属性必须是外链接(external)的,也就是说a.c要引用到v,
转载
精选
2015-12-09 17:20:57
497阅读
只要参加软件研发的笔试(C/C++)几乎都会涉及到sizeof()的用法,我昨天也遇到了,有的也会,但是真正sizeof()的核心还是没有领会,今天上网,无聊中就看到了详细的sizeof()的阐述,现在分享给大家。
------------sizeof----------------
sizeof 一般形式为:sizeof(object),也可以sizeof var_char,不过大部分pro
推荐
原创
2008-10-21 22:07:57
10000+阅读
点赞
12评论
只要参加软件研发的笔试(C/C++)几乎都会涉及到sizeof()的用法,我昨天也遇到了,有的也会,但是真正sizeof()的核心还是没有领会,今天上网,无聊中就看到了详细的sizeof()的阐述,现在分享给大家。
------------sizeof----------------
sizeof 一般形式为:sizeof(object),也可以si
转载
精选
2008-10-22 21:05:06
731阅读
static在c里面可以用来修饰变量,也可以用来修饰函数。 1.static局部变量a.生存周期:静态局部变量在函数内定义,生存期为整个源程序;b.存储方式:当用static修饰时,从原来的栈中存放改为静态存储区;c.作用域:与自动变量相同,只能在定义该变量的函数内使用,退出该函数后,尽管该变量还继续存在,但不能使用它;d.初始化:对基本类型的静态局部变量若在说明时未赋以初值,则系统自动
原创
2013-08-26 09:08:55
2532阅读
C语言中一个重要的内容,就是 ## 的用法,可能绝大部分 C 程序员都不知道"##"隐藏用法,下面就来给大家讲讲。一、##的“表”用法想必很多人都知道"##"的用法——它本质上是一个“胶水运算”(连接字符串的作用),用于把参数宏中的“形参”与其它没有天然分割的内容粘连在一起,例如:#define def_u32_array(__name, __size) uint32_t array_##
转载
2021-02-02 19:18:14
613阅读