关键字
ox0080
surprise
展开
-
static关键字与内存
为什么要引入static?函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想将函数中此变量的值保存至下一次调用时,如何实现? 最容易想到的方法是定义一个全局的变量,但定义为一个全局变量有许多缺点,最明显的缺点是破坏了此变量的访问范围(使得在此函数中定义的变量,不仅仅受此函数控制)。伴随着不...原创 2018-06-23 11:42:48 · 175 阅读 · 0 评论 -
C/C++语言宏的用法
C/C++宏的使用:1. 防止多重包含 2. 条件编译 3. 定义字面值常量 4. 定义为函数 5. 可变参数宏 6. 宏组合 6.1 一般用法 6.2 当宏参数是另一个宏的时候 6.2.1 非'#'和'##'的情况 6.2.2 当有'#'或'##'的时候 6.3 '#'和'##'的一些应用特例 6.3.1 合并匿名变量名 6.3.2 填充结构 ...原创 2018-07-28 17:40:02 · 1517 阅读 · 0 评论 -
指针辨析
指针是什么?任何程序数据载入内存后,在内存都有它们的地址,这就是指针。而为了保存一个数据在内存中的地址,我们就需要指针变量。因此:指针是程序数据在内存中的地址,而指针变量是用来保存这些地址的变量。一 指针数组(存放指针的数组)与数组指针(指向数组的指针)指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定。它是“储存指针的数组”的简称。数组指针:首先它...原创 2018-11-03 13:44:03 · 176 阅读 · 0 评论 -
C/C++中static再探讨
1. C 语言中的static内存布局:初始化数据段---.data段通常将此段称为数据段,它包含了程序中需赋初值的变量。初始化 的全局变量和静态变量存放在这里 。例如,C程序中任何函数之外的说明:int maxcount = 99; 使此变量以初值存放在初始化数据段中。a.初始化的全局变量b.初始化的静态变量非初始化数据段---.bss段通常将此段称为bss段,这一名称来源...原创 2018-11-03 15:18:39 · 135 阅读 · 0 评论 -
C/C++中const探讨
学习const之前先来回顾三个概念,常量,变量,常变量常量:常量是程序运行过程中其值不能改变的量,我们任意说一个数字,一个单词都是一个常量,例如3就是常量,apple也是常量,常量就相当于数学上常数的概念,只不过计算机数据类型并不是只有数字,所以称之为常量。根据数据类型的不同又分为数值常量,字符常量,字符串常量和符号常量。变量:变量是在程序运行过程中其值可以改变的量,变量有变量类型,变量名...原创 2018-11-04 17:32:35 · 181 阅读 · 0 评论