C语言中#angular define的作用用范围是多大

如图C语言中,这个define是定义什么的?_百度知道
如图C语言中,这个define是定义什么的?
我有更好的答案
把所有N替换为10
为什么要这么定义
在for中把N改为10并去掉define等效
你这是c,对于c++来说本人更倾向于const int N=10
采纳率:82%
来自团队:
define 定义的全局常量就是编程的时候相同的数值用个常量名或者变量名代替,方便以后修改。
这个定义是告诉编译器,看到N就替换成10
为您推荐:
其他类似问题
define的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。c语言宏定义作用区域_百度知道
c语言宏定义作用区域
情况如下:
有1.c和2.c两个源文件,在1.c中定义了一个宏名,在2.c中也想要使用这个宏名,请问在没有其它处理的情况下(既不自己定义该宏名也不包含有该宏名的头文件)2.c可以直接使用这个宏名吗?
另外有想过,在2.c中再重复定义一个一样的宏名,这样定义后...
我有更好的答案
C语言宏定义的作用区域是,从定义位置开始,到所在的大括号对结束。如果宏定义没有在任何一个大括号内,那么其作用域为一直到文件结尾。不过部分编译器,对宏定义的作用区域做了扩展,即使定义在大括号内,同样也令其作用域到文件尾,这个属于编译器实现的处理,并不符合C语言规范。
软件工程师
如果在头文件定义,那么所有引用该头文件的源文件就是预编译,所以在当前文件有效,无法使用其他源文件里定义的宏,这时候需要使用#ifndef来避免重复引入,预编译后都会有这个宏,因此两个源文件同时定义不会冲突。不过一般宏定义在头文件里的多
所以在编译的预处理阶段,各个文件宏替换后,进入正式编译阶段就已经不存在宏这个东西了是吗?
没错,此刻已经都替换完毕了。
本回答被提问者采纳
在头文件里定义就是了
在头文件中定义,就以为着1.c和2.c两个文件都包含这个头文件,实质上就是在两个文件中都定义了同一个宏名,这也就是我第二个问题的疑问,会冲突吗
可以用extern ,宏具有文件作用域的吧,会冲突。
extern可以用于宏名?确定?另外如果宏具有文件作用域,那我是在1.c和2.c两个文件中定义相同的宏,就各自作用在各自的文件区域,不冲突呀!
extern指的是外部变量,如在一个源程序包含两个文件,其中一个文件要引用另外一个文件的变量时就要用到extern来声明。宏定义的变量在使用时,为符号替换。你可以这样,用#ifndef...#define...#endif,这个是必定可以的。
其他1条回答
为您推荐:
其他类似问题
宏定义的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。C语言的 #define SIZE 10 是什么意思?_百度知道
C语言的 #define SIZE 10 是什么意思?
我有更好的答案
就是定义SIZE为10,在以后的程序中,凡是出现SIZE这个字符的都以10代替#define 是宏定义,你可以看看谭浩强的书
采纳率:16%
预定义.以后在程序中出现 SIZE 值都为 10
定义字符SIZE表示10这个值
为您推荐:
其他类似问题
define的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。C语言中关于#define的使用_百度知道
C语言中关于#define的使用
如说我定义一个宏#define(A, b),B) ((A)&=(b)?(A):(B))当运行下面代码的时候会发生什么事情least = MIN(*p++
额 对对 应该是#define MIN(A,B) 哎 这几天忙得我焦头烂额的
我有更好的答案
果宏确实是这样定义的:#define MIN(A,B) ((A)& 当*p = 5, b = 5的时候,这个MIN宏会得到6;=(b)?(A):(B))int main(){ int a = 5, b = 5;n&。本来这个宏是用来求两个值中的较小的一个值,但是同时又要计算的时候(*p)++,就会出现严重的错误。#include &lt, MIN((*p)++;=(b)?(A):(B))那么least = MIN((*p)++; int *p = &a; printf(&%d&#92, b).h&#define MIN(A,B) ((A)&lt
采纳率:58%
来自团队:
#define可以简单的理解为字符串替换!这里你用*p++代替A,b代替B;=(b)?(*p++),代入MIN宏:((*p++)&lt分析
编译错误... 是不是写错了//#define(A,B) ((A)&=(b)?(A):(B))
#define MIN(A,B) ((A)&=(b)?(A):(B))//这样的? -------------换后 是
((*p++)&=(b)? (*p++):(b))比较*p和b,然后p指向后一个元素如果真,显示*p,
p在指向后一个元素假的话, 只显示b
是用来求两个值中的较小的一个值
((*p++)&=(b)? (*p++):(b))比较*p++和b,果真,least = (*p++),假的话, least = b
其他1条回答
为您推荐:
其他类似问题
您可能关注的内容
define的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。C语言中定义常数变量怎么定义 用define的那种_百度知道
C语言中定义常数变量怎么定义 用define的那种
举个例子 比如在函数中定义常数π
我有更好的答案
..1415926就可以了例如#include &lt...h&#define pi 3.){
..1415926int main(.,只要在源代码开头定义的话,整个源文件都可以使用该变量,假如要要定义常数π,那就#define pi 3..){
function(..;stdio,不需要在函数中定义,所以他属于一种全局类型因为define是一种宏定义
采纳率:52%
#define pi 3.1415926
为您推荐:
其他类似问题
define的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 angular define的作用 的文章

 

随机推荐