函数、过程或者方法中定义一个字符串变量时,由于我们知道在函数、过程或者方法中定义的变量为局部变量,它的内存是在栈中分配的,但是这里有个小细节我们要注意,对于一个局部的字符串变量,它的大小为4字节,这个在栈中分配的4字节是不是就是字符串变量的全部呢?
答案是否定的,它在栈中保存的只是这个字符变量的大小和字符变量的值在堆中的内存地址!,这就是说,该字符变量的值并不在对应的栈中,而是在堆中!我们了...
分类:
其他好文 时间:
2014-09-11 13:57:22
阅读次数:
196
接上篇,php的bitset模块介绍和安装利用php的bitset模块可以实现c++的bitset相关功能。但是,在生产环境下需要给线上服务器安装模块是很危险和麻烦的事,所以需要另辟蹊径。我用php的array数组模拟了bitset的几个主要方法的实现过程,其实就是利用Array的key模拟内存地址...
分类:
Web程序 时间:
2014-09-10 12:24:20
阅读次数:
210
在计算机编程领域中,迷途指针,或称悬空指针、野指针,指的是不指向任何合法的对象的指针。当所指向的对象被释放或者收回,但是对该指针没有作任何的修改,以至于该指针仍旧指向已经回收的内存地址,此情况下该指针便称迷途指针。若操作系统将这部分已经释放的内存重新分配给另外一个进程,而原来的程序重新引用现在的迷途...
分类:
其他好文 时间:
2014-09-09 19:57:39
阅读次数:
260
calloc(), malloc(), realloc(), free(),alloca() 内存区域可以分为栈、堆、静态存储区和常量存储区,局部变量,函数形参,临时变量都是在栈上获得内存的,它们获取的方式都是由编译器自动执行的。 利用指针,我们可以像汇编语言一样处理内存地址,C 标准函数库提...
分类:
其他好文 时间:
2014-09-09 12:26:38
阅读次数:
243
首先堆栈和堆(托管堆)都在进程的虚拟内存中。(在32位处理器上每个进程的虚拟内存为4GB)堆栈stack 堆栈中存储值类型。堆栈实际上是向下填充,即由高内存地址指向低内存地址填充。堆栈的工作方式是先分配内存的变量后释放(先进后出原则)。堆栈中的变量是从下向上释放,这样就保证了堆栈中先进后出的规则不与...
分类:
其他好文 时间:
2014-09-05 15:54:21
阅读次数:
182
1.深入内存对齐
为什么需要内存对齐呢?我们定义一个变量后,就会为该变量在某内存地址处分配一个空间。举例如下:
struct A
{
int d;
char c;
long l;
}
A a={0};//定义一个变量a.
设a 的地址为0,则a.d地址为0,a.c为4,a.l为5。如果空间真的是这样分配的话,会造成一个问题,在X86体系机器上,CPU的一次访存是直接取出3...
分类:
其他好文 时间:
2014-09-02 15:51:45
阅读次数:
253
1、打印内存地址
#include
int main()
{
int a;
printf("%p\n",&a); //%p打印地址,自动加前缀00
printf("0x%x\n",&a); //%x以十六进制打印
return 0;
}输出结果:
0012FF44
0x12ff44
2、printf,sprintf,snprintf
原型:
int printf...
分类:
其他好文 时间:
2014-09-01 15:36:33
阅读次数:
206
坚守一辈子的幸福String的点点滴滴一、String 的 equals()到底比较的是什么?equals() 与 == 的区别?当使用关系运算符==比较两个对象时,是比较两个对象使用的内存地址和内容是否相同,如果两个对象使用的是同一个内存地址,并且内容相同,则结果为true,否则结果为false ...
分类:
其他好文 时间:
2014-08-31 22:40:01
阅读次数:
363
1、野指针: 声明一个指针(例如 int *p;),编译器会随机分配一个内存地址给它,但是,此地址不可用(如 cout<<p; 此句会出现运行时错误,见图1,但是编译会通过)。当然,在声明时初始化才是好习惯(如 int *p = NULL;),这也是避免野指针的方法。2、迷途指针: int *p =...
分类:
其他好文 时间:
2014-08-31 15:45:31
阅读次数:
247
一、String 的 equals()到底比较的是什么?equals() 与 == 的区别?当使用关系运算符==比较两个对象时,是比较两个对象使用的内存地址和内容是否相同,如果两个对象使用的是同一个内存地址,并且内容相同,则结果为true,否则结果为false 当使用对象的equals( )方法.....
分类:
其他好文 时间:
2014-08-31 10:25:11
阅读次数:
279