一共有十五个优先级: 1 () [] . -> 2 ! ~ -(负号) ++ -- &(取变量地址)* (type)(强制类型) sizeof 3 * / % 4 + - 5 >> << 6 > >= < <= 7 == != 8 & 9 ^ 10 | 11 && 12 || 13 ?: 14 = ...
分类:
编程语言 时间:
2016-03-29 14:22:43
阅读次数:
140
一共有十五个优先级: 1 () [] . -> 2 ! ~ -(负号) ++ -- &(取变量地址)* (type)(强制类型) sizeof 3 * / % 4 + - 5 >> << 6 > >= < <= 7 == != 8 & 9 ^ 10 | 11 && 12 || 13 ?: 14 = ...
分类:
编程语言 时间:
2016-03-24 10:13:14
阅读次数:
217
1.以下语句是错误的: constexpr期望得到一个常量的表达式,因此其初始化器必须是常量而不能是变量 2.用constexpr定义的指针是顶层而非底层的,即:它指向的地址是固定不变的。值得注意到是,在函数体内,变量的地址是可以改变的(即便它是常量)。只有函数体外的变量地址是不变的(即便它不是常量
分类:
其他好文 时间:
2016-03-18 13:24:06
阅读次数:
168
volatie关键字 在嵌入式系统中这个关键字用的比较多,主要的用途是避免的编译器的优化。提醒它所声明的这个变量随时可能改变,所以,编译后的程序每次需要存储或读取这变量的时候,都会直接从变量地址中读取数据。 比如一个信号量是某个 io口的高低电平,由于访问寄存器的速度要快于RAM,所以编译器一般都会
分类:
其他好文 时间:
2016-03-15 23:33:54
阅读次数:
271
volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。下面举例说明。在D
分类:
其他好文 时间:
2016-03-07 11:48:55
阅读次数:
151
测试函数的模板实现 [cpp] view plain copy /// @file my_template.h /// @brief 测试数据类型用的模板实现 #ifndef MY_TEMPLATE_H_2016_0123_1226 #define MY_TEMPLATE_H_2016_0123_1
分类:
其他好文 时间:
2016-02-12 22:08:41
阅读次数:
285
java中传值及引伸深度克隆的思考 大家都知道java中没有指针。难道java真的没有指针吗?句柄是什么?变量地址在哪里?没有地址的话简直不可想象! java中内存的分配方式有两种,一种是在堆中分配,一种是在堆栈中分配,所有new出来的对象都是在堆中分配的,函数中参数的传递是在栈中分配的。通常情况下
分类:
编程语言 时间:
2016-01-27 21:37:47
阅读次数:
168
fork进程 A 有 变量 m,地址为 12345进程 B 为 A 的子进程,此时 B 会有一份 和 A 一样的 内存空间(逻辑),同样 会有 m 变量,它的 地址 也是 12345当修改 A 中的 m 时,不影响 B 中的 m,因为 虽然它们的线性地址 相同, 但是 对应的 物理地址 却 不相同。...
分类:
系统相关 时间:
2016-01-19 23:27:24
阅读次数:
191
指针是某个变量的地址,是一个地址。指针变量是存放指针(某个变量地址)的变量,是一个变量。指针变量是一个变量,也有它自己的地址;这几句话对理解指针非常有帮助。举例:int c = 76;int *pointer = &c;普通变量 c 和 指针变量 pointer 在内存中的形式如下图:;指针变量po...
分类:
编程语言 时间:
2016-01-18 09:12:33
阅读次数:
235
一、前言我们上面已经了解Windows和Linux下的ProC开发环境,这里我们更进一步去简要介绍下ProC的预编译参数。二、什么是预编译预编译过程中,Pro*C/C++会自动生成C或者C++的代码,去替代你原来的嵌入SQL,生成的代码包含了一些数据结构,其中声明了数据类型,长度,变量地址以及SQL...
分类:
其他好文 时间:
2016-01-17 01:20:01
阅读次数:
253