摘要: 接触过编程的人都知道,高级语言都能通过变量名来访问内存中的数据。那么这些变量在内存中是如何存放的呢?程序又是如何使用这些变量的呢?下面就会对此进行深入的讨论。下文中的C语言代码如没有特别声明,默认都使用VC编译的release版。首先,来了解一下C语言的变量是如何在内存分部的。C语言有全局变量(Global)、本地变量(Local),静态变量(Static)、寄存器变量(Regeister)。每种变量都有不同的分配方式。先来看下面这段代码:#include<stdio.h>intg1=0,g2=0,g3=0;intmain(){staticints1=0,s2=0,s3=0;int 阅读全文
posted @ 2012-03-14 17:49 花落花相醉 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 转自:http://www.cppblog.com/oosky/archive/2006/01/21/2958.html前言您是否是动态分配的 C/C++ 对象忠实且幸运的用户?您是否在模块间的往返通信中频繁地使用了“自动化”?您的程序是否因堆分配而运行起来很慢?不仅仅您遇到这样的问题。几乎所有项目迟早都会遇到堆问题。大家都想说,“我的代码真正好,只是堆太慢”。那只是部分正确。更深入理解堆及其用法、以及会发生什么问题,是很有用的。什么是堆?(如果您已经知道什么是堆,可以跳到“什么是常见的堆性能问题?”部分)在程序中,使用堆来动态分配和释放对象。在下列情况下,调用堆操作:事先不知道程序所需对象的 阅读全文
posted @ 2012-03-14 17:40 花落花相醉 阅读(1586) 评论(0) 推荐(0) 编辑
摘要: 原文:http://student.csdn.net/link.php?url=http://www.top-e.org%2Fjiaoshi%2Fhtml%2F427.html在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来说,堆栈是一个很模糊的概念。堆栈:一种数据结构、一个在程序运行时用于存放的地方,这可能是很多初学者的认识,因为我曾经就是这么想的和汇编语言中的堆栈一词混为一谈。我身边的一些编程的朋友以及在网上看帖遇到的朋友中有好多也说不清堆栈,所以我想有必要给大家分享一下我对堆栈的看法,有说的不对的地方请朋友们不吝赐教,这对于大家学习会有很大 阅读全文
posted @ 2012-03-14 16:41 花落花相醉 阅读(39005) 评论(14) 推荐(33) 编辑