C语言#define SP ((a*) b)是什么意思啊?谢谢

作者&投稿:市旺 (若有异议请与网页底部的电邮联系)
C语言中:#define SUB(a) (a)-(a) 这一段是什么意思?~

宏经过预处理后会直接替换
那么
SUB(6)
会被替换为
(6)-(6)
=
0
所以上面的意思,其实
SUB(a)
就是0嘛
其实,我怀疑你的那个宏是不是写错了。。。

楼上说的对,宏定义:#define
N
30
意思跟N=30差不多;#define
IFADOB(A,B)
((A)&&(B,0)),这里的IFADOB(A,B)
相当于一个函数返回值为((A)&&(B,0)),其中((A)&&(B,0))
是(B,0)的逗号运算后与A的并;

#define SP ((a*) b)是定义((a*) b)为宏SP。((a*) b)的意思是把b强制成a*型指针。如:
#define SP ((int*)b)
void main(void){
int b=4;
int *p=SP;
printf("%d\n",p);
}
输出结果是4。这说明用把b这个int数据变量强制成了一个int *型指针,并最后输出了。
这里用最简单的int替换了a,实际上a应该是自建的复杂类型,不然就不必这样了。

就是指程序中的SP使用 ((a*)b)进行替换。

例如
int a=3,b=4;
int c=SP;

则 int c=((a*)b)=((3*)4) =12


语言是什么?
1.语言 :是以语音为物质外壳,以语义为意义内容的,音义结合的词汇建筑材料和语法组织规律的体系.语言是一种社会现象,是人类最重要的交际工具,是进行思维和传递信息的工具,是人类保存认识成果的载体.语言具有稳固性和民族性.2.言语 :说的话或说话.3.组合关系 :符号和符号组合起来的关系.符号和符号的组...

世界上的语言有哪些
世界上的语言非常多样,主要分为以下几个大类:汉语、英语、法语、西班牙语、阿拉伯语、俄语等。1. 汉语:作为世界上使用人数最多的语言之一,汉语主要分布在中国大陆、台湾、香港、澳门以及海外华人社区。汉语方言众多,如普通话、粤语、闽南语等。2. 英语:作为全球商业和科技领域的主要语言,英语的影响力...

什么是语言 语言是什么
汉语、英语、西班牙语、俄语、阿拉伯语、法语是世界上的主要语言,也是联合国的工作语言。汉语是全球母语人口最多的语言,英语是全球使用最广泛的语言。语言和文字是两个概念,往往是先有语言,后产生文字。2、语言的三要素是语音、语法和词汇,是由词汇按一定的语法所构成的语音表义系统。根据语言的要素...

“语言”用英文怎么写
language 读音:英 ['læŋɡwɪdʒ] 美 ['læŋɡwɪdʒ]1、 language泛指“语言”时是不可数名词,在句中可用作定语。language用来表示一个国家或民族具体的“语言文字”时,是可数名词,其前要加the。language与the连用还可表示“某种语言的全部词...

世界主要语言有哪些?
世界主要语言有:1、英语 英语作为官方语言的人口超过10亿,有73个国家作为官方语言,联合国的标准语言也是英语。北美的美国、加拿大,欧洲的英国,大洋洲的澳大利亚,亚洲的印度,还有非洲过半数国家,都将英语定为官方语言。从说英语国家的疆域来说,无疑是第一位的。从说英语国家的经济来说,也是第一...

语言是什么
[yǔ yán]语言是人类最重要的交际工具,是人们进行沟通交流的各种表达符号。人们借助语言保存和传递人类文明的成果。语言是民族的重要特征之一。一般来说,各个民族都有自己的语言。汉语,英语,法语,俄语,西班牙语,阿拉伯语,是世界上的主要语言,也是联合国的工作语言。汉语是世界上使用人口最多的语言...

语言英语怎么写
语言英语翻译为:language。language:n.语言;语言文字;言语;说话;某种类型的言语(或语言);复数: languages

世界上有多少种语言?
1 中国语:我爱你 2.日本语:阿一西带路 3.英语: I LOVE YOU 4 希腊语:s`agapo 5 犹太语:ani ohev otach 6 匈牙利语:szertlek 7 爱尔兰语:taim i`ngra leat 8 爱沙尼亚语:mina armadtansind 9 芬兰语:min rakastan sinua 10比利时佛兰芒语:ik zie graag 11意大利语:tiamo 12...

什么是语言?
语言(英文名:Language)是人类最重要的交际工具,是人们进行沟通的主要表达方式。人们借助语言保存和传递人类文明的成果。语言是民族的重要特征之一。一般来说,各个民族都有自己的语言。汉语,法语,俄语,西班牙语,阿拉伯语,英语是世界上的主要语言,也是联合国的工作语言。汉语是世界上使用人口最多的...

言语和语言的区别
1、概念不同:语言是一种抽象的、全民的、有限的、静态的系统,它是社会成员共享的知识体系,包括了词汇、语法和发音等规则。而言语则是具体的、个人的、无限的、动态的现象,它是人们在特定情境下使用的语言,包括了口头和书面等形式的表达。2、应用不同:语言是社会的产物,它不从属于某一个人,...

宣武区17178903876: C语言#define SP ((a*) b)是什么意思啊?谢谢 -
呈追阿奇: 就是指程序中的SP使用 ((a*)b)进行替换.例如 int a=3,b=4; int c=SP; 则 int c=((a*)b)=((3*)4) =12

宣武区17178903876: C语言中关于#define的使用 -
呈追阿奇: 分析:#define可以简单的理解为字符串替换! 这里你用*p++代替A,b代替B,代入MIN宏: ((*p++)<=(b)?(*p++):(b)) -------- 剩下的工作自己分析啦!

宣武区17178903876: C语言中,编程时,有的程序开头的"#define"是什么意思? -
呈追阿奇: 有的时候为了程序的通用性,可以使用#define预处理宏定义命令,它的具体作用,就是方便程序段的定义和修改. 举个例子吧,如果说你在做一个项目,这个项目的代码很长,有5000多行,而且基本上里面的同一个常量N就占了3000多行,如果说今后你要是想对这个常量N的值进行修改,如果在程序的开始没有定义一个#define N,那么改起来不是很麻烦,3000多行啊,那不是要晕过去了~如果你事先定义了一个#define N '常量值',那么当你要修改程序内部的常量值时,只要修改N后面的常量值就等于把程序内部的要修改的相同常量值都改了,那就很方便了

宣武区17178903876: C语言中为什么用#define定义符号常量 -
呈追阿奇: 为了以后的方便.比如你程序,是一个以5为底的除法运算. 那就是 x=a/b b就#define为5 你程序用着用着,突然想用8为底,那你只要改define就好了,不用再自己去程序里把所有的b都改成8. 主要还是为了以后的方便.

宣武区17178903876: c语言 #define SUB(a) (a) - (a) main() { inta=2,b=3,c= -
呈追阿奇: 首先将SUB的参数a+b代入宏替换表达式相应部分 SUB(a+b) 等于 (a+b)-(a+b) SUB(a+b)*c中宏替换后表达式为(a+b)-(a+b)*c 先计算(a+b)*c为25然后(a+b)-25结果是-20

宣武区17178903876: C语言#define 定义一个全局随机数 -
呈追阿奇: #include #include #define a rand()%(30-20+1)+20 // 20--30的随机数 inline int get_rand(){ // 它将返回随机数 int r; srand((unsigned)time(NULL)); r=a; return r; } void main() { printf("%d\n",get_rand()); }

宣武区17178903876: C语言当中的预处理#define -
呈追阿奇: 意思是用 IS_GPIO_ALL_PERIPH(PERIPH) 代替 (((PERIPH) == GPIOA) || ((PERIPH) == GPIOB) ||((PERIPH) == GPIOC) || ((PERIPH) == GPIOD) || ((PERIPH) == GPIOE) || ((PERIPH) == GPIOF) || ((PERIPH) == GPIOG)) 到程序中...

宣武区17178903876: #define的用法不解 -
呈追阿奇: 该指令有三种用法:第一种是定义标识,标识有效范围为整个程序,形如#define XXX,常与#if配合使用; 第二种是定义常数,如#define max 100,则max代表100(这种情况下使用const定义常数更好,因为:const常量有数据类型,而宏常量...

宣武区17178903876: C语言中的#define有什么意义?好像可以用int,float,什么的代替啊! -
呈追阿奇: 比如说你想定义一个数组,int num[MAX], 在c语言中,要求max必须是常数,那怎么办呢,你又不想写成int num[10], 所以你就写#define MAX 10

宣武区17178903876: C语言#define -
呈追阿奇: #define A 1#include "stdio.h" void main() { printf("%d",&A); // 兄弟 编译时 宏替换将A换成1 就成了 printf("%d",&1); 错了吧 // 1是常数 看见替换了吧 这样就不能取地址了 错误了 }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网