C++ Realization COM
文章平均质量分 78
zlp8383178
网络游戏,音乐
展开
-
深入理解C语言指针的奥秘(补充)
C语言所有复杂的指针声明,都是由各种声明嵌套构成的。如何解读复杂指针声明呢?右左法则是一个既著名又常用的方法。不过,右左法则其实并不是C标准里面的内容,它是从C标准的声明规定中归纳出来的方法。C标准的声明规则,是用来解决如何创建声明的,而右左法则是用来解决如何辩识一个声明的,两者可以说是相反的。右左法则的英文原文是这样说的:The right-left rule: Start reading转载 2007-06-19 14:19:00 · 871 阅读 · 0 评论 -
堆?栈?
堆栈在计算机领域,堆栈是一个不容忽视的概念,但是很多人甚至是计算机专业的人也没有明确堆栈其实是两种数据结构。要点:堆:顺序随意栈:先进后出堆和栈的区别 一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(he转载 2007-06-19 14:34:00 · 8727 阅读 · 3 评论 -
深入理解C语言指针的奥秘(上)
指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的 类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。 先声明几个指针放着做例子: 例一: (1)int*ptr; (2)char*ptr; (3)int**ptr; (4)int(*ptr)[3]; (转载 2007-06-19 14:12:00 · 1125 阅读 · 0 评论 -
深入理解C语言指针的奥秘(中)
一个指针ptrold减去一个整数n后,结果是一个新的指针ptrnew,ptrnew的类型和ptrold的类型相同,ptrnew所指向的类型和ptrold所指向的类型也相同。ptrnew的值将比ptrold的值减少了n乘sizeof(ptrold所指向的类型)个字节,就是说,ptrnew所指向的内存区将比ptrold所指向的内存区向低地址方向移动了n乘sizeof(ptrold所指向的类型)个字转载 2007-06-19 14:15:00 · 1126 阅读 · 0 评论 -
深入理解C语言指针的奥秘(下)
例十三: intfun(char*); inta; charstr[]="abcdefghijklmn"; a=fun(str); ... ... intfun(char*s) { intnum=0; for(inti=0;i{ num+=*s;s++; } returnnum;} 这个例子中的函数fun统计一个字符串中各个字符的ASCII码值之和。前面说了,数组的名字也是一个指针。在函数调转载 2007-06-19 14:17:00 · 1146 阅读 · 0 评论 -
深入理解c++中const的奥秘
Const 最早想法是用于取代预处理器#define 这个宏,从而形成常量的概念。针对常量const对象,const指针及指向const的指针,函数const类型参数,const 函数返回类型, const类成员,及const成员函数,及对const最后理解的一些总结来描述 const。 ① const对象和const类型的对象 对于这两个概念的描述如下 1. int const Object;转载 2007-06-19 14:22:00 · 1598 阅读 · 0 评论 -
堆?栈?(补充)
五大内存分区 在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,转载 2007-06-19 14:37:00 · 1193 阅读 · 0 评论 -
堆?栈?(讨论)
一:堆是程序员分配的,并由程序员释放的空间。栈是临时变量的存储空间。堆栈也就是栈。二:堆是程序员分配的,并由程序员释放的空间。 //比如说malloc,new,空间是始终存在的。。。栈是临时变量的存储空间。 //比如说 int a=9; 函数返回后,空间系统收回。。。堆栈也就是栈。======================================顶ls的,看这几句就够了。转载 2007-06-19 14:41:00 · 2142 阅读 · 0 评论