笔记
文章平均质量分 68
huayp20120204
这个作者很懒,什么都没留下…
展开
-
读 C语言深度解剖 笔记1
static 1.修饰变量 静态全局变量,作用于仅限于变量被定义的文件中,其中文件即使使用extern声明也没有办法使用他。准确地说作用于是从定于之处开始,到文件尾处结束,在定于之处前面的那些代码也不能使用它。想要使用就得在前面再加extern ***。所以一般在文件顶处直接定义。 void fun1() { extern int i; i++; cout } static原创 2012-07-11 12:00:51 · 250 阅读 · 0 评论 -
C语言深度解剖 笔记3
1return关键字 return用来终止一个函数并返回其后面跟着的值。 return语句不可返回指向“栈内存”的“指针”, 因为该内存在函数体结束时被自动销毁。 char* func(void) { char str[30]; ... return str; } str属于局部变量,在Func结束的时候被释放,所以返回str将导致错误。 2“retu原创 2012-07-22 10:22:12 · 519 阅读 · 0 评论 -
C语言深度解剖 笔记4
1最易变的关键字 volatile 类型修饰符 用volatile修饰的变量表示可以被某些编译器未知的因素更改,比如操作系统、硬件或者其他线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。比如:volatile关键字告诉编译器某变量是随时可能发生变化的,每次使用它的时候必须从内存中取出它的值,因而编译器生成的汇编代码会重新从它的地址中读原创 2012-07-23 20:32:32 · 384 阅读 · 0 评论 -
C语言深度解剖 笔记5
1柔性数组 flexible array C99中,结构中的最后一个元素允许是未知大小的数组,这就叫柔性数组成员,但结构中的柔性数组成员前面必须至少一个其他成员。柔性数组成员允许结构中包含一个大小可变的数组。sizeof返回的这种结构大小不包括柔性数组的内存。包含柔性数组成员的结构用malloc函数进行内存的动态分配,并且分配的内存应该大于结构的大小,以适应柔性数组的预期大小。如: typed原创 2012-07-25 08:56:46 · 358 阅读 · 0 评论 -
C语言深度解剖 笔记2
1 int a[5]; cout cout cout cout output: 20 4 4 4 当定义一个数组a时,编译器根据指定的元素个数和元素类型分配确定大小的一块内存,并把这块内存的名字命名为a,名字a一旦与这块内存匹配就不能被改变。a[0],a[1]等为a的元素,但并非元素的名字。数组的每一个元素都没有名字。 所以 sizeof(a) = sizeof(int原创 2012-07-26 09:20:32 · 332 阅读 · 0 评论 -
侯捷 more effective c++(WQ中文版) 阅读笔记1
1 指针与引用的区别(指针与引用都是间接引用其他对象) (1)操作符的不同 指针用操作符 '*'和'->' 引用用操作符 '.' (2)两者使用环境 在任何情况下都不能使用指向空值的引用。一个引用必须总是指向某些对象。在可能将空值赋值给变量时,应该将变量声明为指针,因为可以将空值赋给指针。同时,不存在指向空值的引用意味着使用引用的代码效率比使用指针的要高。因为在使用引用之前不需要测试它的原创 2012-07-30 13:48:13 · 636 阅读 · 0 评论