易截截图软件、单文件、免安装、纯绿色、仅160KB

C/C++变量分析


BSS
未初始化的数据
DATA
初始化的数据
TEXT(code)
代码
 
      在C中有全局、局部(自动变量)和静态变量。
全局变量在C语言里表示时,在函数之外的就是全局变量,即在函数外所申明的变量;而静态变量可以放在函数外,也可以放在函数内。全局变量有两个作用:第一,当在函数外申明时,所有文件的函数都可以访问它,都可以直接引用全局变量的访问;第二,可以允许另外的文件访问,但是在那个要访问的文件中用extern做标记。而静态变量如果放在函数的外面,则在整个文件中也是可以访问的,但是,另外的文件是不可以访问的。如果静态变量放在函数内,那么就只能是这个函数能访问,但它还是放在DATA区域中的。
      局部变量都是在堆栈中的,而静态和全局都是在数据区中。堆栈和全局区在执行的时候如图所示;
堆区
栈区
堆区
BSS
DATA
CODE
如果类是一个巨大的类,需要占据很大的数据空间,就应该把它当做指针用new来分配空间。
局部变量(自动变量),自动的意思就是自动地分配和清除,并且出示的值也是随机的。所以,如果程序中没有对自动变量进行复制就使用,那么可能会出现意想不到的问题。
 


相关文档:

C程序:某水王的发帖数超过总贴数的一半,找出之

//某水王的发帖数超过总贴数的一半,找出之
int find(int *ID, int N)
{
int candidate;
int nTimes, i;
for (i = nTimes = 0; i < N; i++)
{
if (nTimes == 0)
{
candidate = ID[i];
nTimes = 1;
}
else if (candidate == ID[i])
{
nTimes++;
}
else
{
nTimes--;
......

规范化的C++编程方法备忘录 C/C++算数运算:

    已经知道的,不说了...大家都知道的,可以问问,查查资料。这里又放些附加建议:
1.基本算数运算:
  既然计算机里没有真正的整数,那么计算机里也没有真正的算数运算。
    取值范围:
  设a和b是两个占一样位宽的无符号整数,这种整数可取到最大值M ......

C 语言二维数组和双重指针

#include "Stdio.h"
#include "Conio.h"
#include
#define size 81
#define lim 5
#define tstr "ABCDEFGH"
void display(char **p,int i);
void display2(char *p[],int i);
void display3(char (*p)[40],int i);
void testint();
int main(void)
{
testint();
getch();
return 0;
}
test1() ......

C/C++中的宏


宏定义了一个代表特定内容的标识符。预处理过程会把源代码中出现的宏标识符替换成宏定义时的值。宏
最常见的用法是定义代表某个值的全局符号。宏的第二种用法是定义带参数的宏,这样的宏可以象函数一样
被调用,但它是在调用语句处展开宏,并用调用时的实际参数来代替定义中的形式参数。
1.#define指令
#define预处理 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号