4个回答
2014-01-09
展开全部
不是,typedef才是。auto :声明自动变量 double :声明双精度变量或函数 int: 声明整型变量或函数 struct:声明结构体变量或函数 break:跳出当前循环 else :条件语句否定分支(与 if 连用) long :声明长整型变量或函数 switch :用于开关语句 case:开关语句分支 enum :声明枚举类型 register:声明寄存器变量 typedef:用以给数据类型取别名 char :声明字符型变量或函数 extern:声明变量是在其他文件正声明 return :子程序返回语句(可以带参数,也可不带参数) union:声明共用数据类型 const :声明只读变量 float:声明浮点型变量或函数 short :声明短整型变量或函数 unsigned:声明无符号类型变量或函数 continue:结束当前循环,开始下一轮循环 for:一种循环语句 signed:声明有符号类型变量或函数 void :声明函数无返回值或无参数,声明无类型指针 default:开关语句中的“其他”分支 goto:无条件跳转语句 sizeof:计算数据类型长度 volatile:说明变量在程序执行中可被隐含地改变 do :循环语句的循环体 while :循环语句的循环条件 static :声明静态变量 if:条件语句
2014-01-09
展开全部
#define M (a+b) 它的作用是指定标识符M来代替表达式(a+b)。在编写源程序时,所有的(a+b)都可由M代替,而对源程序作编译时,将先由预处理程序进行宏代换,即用(a+b)表达式去置换所有的宏名M,然后再进行编译。 程序1: #define M (a+b) main(){ int s,y; printf("input a number: "); scanf("%d",&y); s=M*M; printf("s=%d\n",s); } 上例程序中首先进行宏定义,定义M来替代表达式(a+b),在 s= M * M 中作了宏调用。在预处理时经宏展开后该语句变为: S=(a+b)*(a+b) 但要注意的是,在宏定义中表达式(a+b)两边的括号不能少。否则会发生错误。 如当作以下定义后:#difine M (a)+(b) 在宏展开时将得到下述语句:S= (a)+(b)*(a)+(b)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-01-09
展开全部
不是的哈~你看下面的例子:#include <stdio.h>
void main(){ int define=1;
printf("%d ",define);
}结果是1.
void main(){ int define=1;
printf("%d ",define);
}结果是1.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-01-09
展开全部
是
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询