#define学习】的更多相关文章

C语言中数据有常量和变量,其中定义常量主要有两种方法,这里主要学习#define定义常量的方法. 1.#define定义数字宏常量 例子如下: 1 2 3 4 5 6 7 8 9 10 #include<stdio.h>   #define PI 3.14   int  main(void) {     printf("%d\n",PI);     printf("%f\n",PI);     return 0; } 以上例子通过#define定义了常量…
//test.c #include <stdio.h> #include <stdlib.h> //字符串化运算符 #define EXPAND(name) ({ \ printf("%s\n", #name); }) //二元运算符 ## 将左和右操作数结合成一个记号 #define test(name, index) ( { \ int i, len = sizeof(name ## index) / sizeof(int); \ for (i = 0; i…
#define中 #与##的神奇用法linux学习 (转) #define f(a,b) a##b #define d(a) #a #define s(a) d(a) void main( void ) { puts(d(f(a,b))); puts(s(f(a,b))); } 输出结果: f(a,b) ab 分析: ##把两个符号连起来 #a指把a当成符号,就是把#后面的看成字符串 # 和 ## 操作符是和#define宏使用的. 使用# 使在#后的首个参数返回为一个带引号的字符串. 例如,…
前言:针对C++ Primer和Effective C++两本书,以及技术博客与实验测试,本系列主要是针对C++进行系统化学习,记录学习中遇到的问题和经验. (一)const与define 关于const与define的用法与比较,可以详见我之前的这篇文章,在这里就不再赘述了. (二)结构体对齐 简单说一下为什么需要结构体对齐,或者说内存对齐. 在32位操作系统中,一次寻址能够取得的指令长度是4字节(也就是32位地址).对于一个4字节变量来说,如果其存放的位置在正好在一个4字节中,那 对于操作系…
本教程整理了extjs的一些基本概念及其使用,包括自定义类(Ext.define).数据模型.代理等.本节介绍使用Ext.define自定义类 使用Ext.define自定义类 1. 首先看看js中自定义类的代码: var Person = function (name, age) { this.Name = ""; this.Age = 0; this.Say = function (msg) { alert(this.Name + " Says : " + ms…
Ext.onReady(function(){    /**     * test1,声明一个类,定义类中的方法     */ Ext.define("demo.Demo",{        name:'Logo',        hello:function(){            Ext.MessageBox.alert("打招呼","大家好啊,我是.....");        }    });    var de=new demo.D…
尽量使用const替换 #define定义常量的原因: #define 不被视为语言的一部分 宏定义的常量,预处理器只是盲目的将宏名称替换为其的常量值,导致目标码中出现多分对应的常量,而const定义的常量,会进入记号表,使用到该常量的地方使用的同一份,使目标码的量更小点: const可以在类中定义一个class专属常量,其作用域限制于class内.(注:如果一个class专属常量又是static又是整数类型,需要特殊处理.主要不取其地址,则,可以声明并使用但是无须提供定义式.如果,需要取地址,…
Android NDK: Host 'awk' tool is outdated. Please define NDK_HOST_AWK to point to Gawk or Nawkawk过期网上的解决方案是到awk所在目录下删除awk. 环境:OS:windows 8cocos2dx版本:cocos2dx-2.1.5ndk版本:ndk-r9c 我的方案是: 发现引入的项目中定义了NDK_HOST_AWK环境变量,导致编译时候使用了awk来做一些处理,但是NDK从N8版本就开始自动Linux…
在iOS开发中经常遇到一些字段和类型的定义,例如配置生产和测试不同环境的参数等,这时候经常用到#define.const以及typedef.那么它们之间有什么区别呢?我们接下来一个一个具体了解下. 一.基本概念 1.1.#define #define并不是定义全局变量,而是宏定义.也就是说并不是真正意义上的定义变量,而是用来做文本替换.当程序开始运行时,编译器会先将代码中的MAX全部替换为100,然后再进行编译.由此可得,#define并不是在编译过程中进行,而是在预编译阶段进行. #defin…
前言 条款02:尽量以const.enum.inline替换#define:尽可能用编译器代替不必要的预处理器. 内容 一.对于单纯常量 1.const 有两种特殊的const,常量指针和class专属常量: (1)常量指针 又分为常量指针.指针常量.指向常量的指针常量: const double *p:或者 double const *p:const读作常量,*读作指针,为常量指针: 本质是个指针,是指向一个常量的指针,也即指向的内容(*p)不可变. double * const p:*读作指…