定义#define

                                                定义符号常量

当我们不止一次用到某个符号常量时,常选择对符号变量进行定义,这样就能当成一般常量来用.

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #define PI 3.1415926
 4 int main()
 5 {
 6 double r,area,c;
 7 scanf("%lf",&r);
 8 area=PI*r*r;
 9 c=2*PI*r;
10 printf("area=%.6lf,c=%.6lf\n",area,c);
11 return 0;
12 }

这样就简化了问题!定义格式为:

#define <符号常量> <常量>

时间: 2024-10-18 22:39:33

定义#define的相关文章

&lt;转&gt;Verilog HDL宏定义define

宏定义 `define 用一个指定的标识符(即名字)来代表一个字符串,它的一般形式为: `define 标识符(宏名) 字符串(宏内容) 如:`define signal string 它的作用是指定用标识符signal来代替string这个字符串,在编译预处理时,把程序中在该命令以后所有的signal都替换成string.这种方法使用户能以一个简单的名字代替一个长的字符串,也可以用一个有含义的名字来代替没有含义的数字和符号,因此把这个标识符(名字)称为“宏名”,在编译预处理时将宏名替换成字符串

iOS之宏定义#define

最基本的宏定义用法 #define aaa  bbb 表示用aaa替换bbb的内容. 宏作用范围 宏的作用范围是在当前文件内, 如果需要作用于其他类(如在类b调用类a已定义宏),那么需要在类b引入类a的头文件(a.h). 如果需要作用于整个工程,可以定义一个类如Config.h,在该类定义好需要的宏,然后在工程的XXX_Prefix.pch文件 #import "Config.h" 在Config.h中 #define aaa  bbb 在XXX_Prefix.pch文件 中 #ifd

宏定义 #define 和常量 const 的区别

宏定义 #define 和常量 const 的区别 类型和安全检查不同 宏定义是字符替换,没有数据类型的区别,同时这种替换没有类型安全检查,可能产生边际效应等错误: const常量是常量的声明,有类型区别,需要在编译阶段进行类型检查 编译器处理不同 宏定义是一个"编译时"概念,在预处理阶段展开,不能对宏定义进行调试,生命周期结束与编译时期: const常量是一个"运行时"概念,在程序运行使用,类似于一个只读行数据 存储方式不同 宏定义是直接替换,不会分配内存,存储与

C语言宏定义#define用法

#define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序的运行与预期的目的不一致,或者在读别人写的程序时,把运行结果理解错误,这对 C语言的学习很不利.1 #define命令剖析1.1   #define的概念#define命令是C语言中的一个宏定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本.

【译】为什么这样宏定义#define INT_MIN (-2147483647 - 1)?

2的32次方为2147483648*2,0~(2147483648*2-1)这是32位机上无符号整数代表的范围.而32机的int范围为-2147483648~+2147483647 stackoverflow.com上有人提出这样一个问题: if (-2147483648 > 0) std::cout << "true"; else std::cout << "false"; 这将输出true,而下面的程序会输出false: if (i

高大上的宏定义#define

宏定义在很多语言里面都可以看到它的影子,C# ,C++,C等,尤其是系统API里面很多宏定义,看着很唬人.合理的利用宏定义,可以让自己的代码看着更规范,更方便,尤其在特定的某些地方.使用宏定义还可以让自己的代码看着高大上有木有! 本文改引自http://www.cnblogs.com/ios8/p/ios-hong.html 网上对IOS的宏定义比较多,我总结了一些最常用的宏,后续还会继续补上. 1.首次启动判断: #define First_Launched @"firstLaunch&quo

模块加载(require)及定义(define)时的路径

最近新公司在用requireJS进行JS的整合,刚开始接触有点蒙,于是深入了解了一下.requireJS主要是为了解决一下两个问题: (1)实现js文件的异步加载,避免网页失去响应: (2)管理模块之间的依赖性,便于代码的编写和维护. 但是在使用的时候有个最大的困惑就是加载模块时候的路径问题,在requirejs的模块路径解析里,  baseUrl 是非常基础的概念.在demo.html里加载requirejs,同时在requirejs所在的script上声明  data-main 属性,那么,

seajs2.3学习日志 简单尝试模板+数据合并、模块异步加载、非标准CMD模式定义define模块

今天继续尝试seajs 2.3的版本,那做点什么demo好呢,就来一个简单是数据模板吧,然后通过其他一些细节深入学习 先看看目录结构,按照官方demo架设 index.html只是简单入口文件和seajs的配置项,最下面有一个seajs.use加载crontroller模块,然后回调暴露的combine方法 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>

宏定义#define的用法

预处理#define定义函数 #include <stdio.h> #define Connect(x,y) x##y //"##"表示连接x与y int main(void) { int n = Connect(123,456); printf("n=%d\n",n); return 0; }

C语言 预处理二(宏定义--#define)

//#define 宏定义(宏定义一般大写) //知识点一-->#define的作用域:从#define开始,从上往下,如果遇到#undef就到#undef处结束,如果没有就是作用于当前整个文件 #include<stdio.h> #include<stdlib.h> //知识点二-->宏定义作用 //宏定义作用1:起到替换作用,可以定义常量 #define X 10 //宏定义作用2:替换代码的任意部分(一般用于易语言,或者加密代码) #define 水乃万物之源 m