中国 - 喜马拉雅

       Let life be beautiful like summer flowers . . .

随笔分类 -  C/C++

关于C/C++语言的基础知识
随机数
摘要:首先我们要对rand&srand有个总体的看法:srand初始化随机种子,rand产生随机数,下面将详细说明。 1. rand(产生随机数) 表头文件:#include<stdlib.h> 定义函数:int rand(void) 函数说明:因为rand的内部实现是用线性同余法做的,他不是真的随机数,只不过是因为其周期特别长,所以有一定的范围里可看成是随机的,rand()会返回一个随机数值,... 阅读全文
posted @ 2012-10-10 11:46 chinaxmly 阅读(544) 评论(0) 推荐(0)
内存对界
摘要:1. 内存对界原理 在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员按其自然对界(alignment)条件分配空间。各个成员按照它们被声明的顺序在内存中顺序存储,第一个成员的地址和整个结构的地址相同。例如: struct struct1 {... 阅读全文
posted @ 2012-09-30 14:01 chinaxmly 阅读(1051) 评论(0) 推荐(1)
堆和栈的区别
摘要:1、管理方式不同 对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来说,释放工作由程序员控制,容易产生memory leak。 2、空间大小不同 一般来讲在32位系统下,堆内存可以达到4G的空间,从这个角度来看堆内存几乎是没有什么限制的。但是对于栈来讲,一般都是有一定的空间大小的,例如,在VC6下面,默认的栈空间大小是1M(好像是,记不清楚了)。当然,我们可以修改: 打开工程,... 阅读全文
posted @ 2012-09-29 15:44 chinaxmly 阅读(368) 评论(0) 推荐(1)
字符串
摘要:1. 字符串字面值 1.1 字符串字面值是一串常量字符,字符串字面值常量用双引号括起来的零个或多个字符表示。 "Hello World!" // simple string literal "\nCC\toptions\tfile.[cC]\n" // string literal using newlines and tabs "" // empty string l... 阅读全文
posted @ 2012-09-29 13:21 chinaxmly 阅读(379) 评论(0) 推荐(0)
sizeof 和 strlen
摘要:1. sizeof 1.1 sizeof是一个独立的运算符,不是函数。sizeof给我们提供有关数据项目所分配的内存的大小。例如: cout << sizeof(long) << endl; // 输出: 4 cout << sizeof(double) << endl; // 输出:81.2 如果将sizeof应用于一个类型,必须要像上面所示那样使用括号。但如果对一个变量使用它,可以不用括... 阅读全文
posted @ 2012-09-28 23:08 chinaxmly 阅读(891) 评论(6) 推荐(0)
内存分配
摘要:一个由C/C++编译的程序占用的内存分为以下几个部分: 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。 3、全局区(静态区)(static)—全局变量和静态变量的存储是放在... 阅读全文
posted @ 2012-09-28 15:32 chinaxmly 阅读(436) 评论(0) 推荐(1)