12-1:存储类: 1.作用域: 代码块作用域,函数原型作用域和文件作用域. 2.链接:分为外部链接,内部链接和空链接.代码块作用域和函数原型作用域都是空连接,意味着是私有的.而文件作用域的变量可能是内部链接或者外部链接,如果一个变量设置成static int .意味着它是内部,不能够多文件共享. 3.存储时期:静态存储时期和自动存储时期. 4.C使用的作用域,链接和存储时期定义了5种存储类:自动,寄存器,具有代码块作用域的静态,具有外部链接的静态,以及具有内部链接的静态. 自动:auto  寄…
学习总结 1.作用域可分为代码块作用域.函数原型作用域或者文件作用域. 代码块作用域例子: { for(int i=0;i<10;i++){  //C99允许 …  //i的作用域 } ... } 注:传统上,具有代码块作用域的变量必须在代码块的开始处进行声明,C99放宽这以规则,允许在一个代码中任何位置声明变量. 函数原型作用域例子: int add(int a, int b); a和b就是函数原型作用域的变量,在这函数内部都可以使用变量a和b,函数原型关注的是原型参数的类型,并非名字,所以在…
被static修饰的属于内部链接,不可被外部程序文件所使用一般而言,全局变量(文件作用域变量)具有静态存储期,局部变量(代码块作用域变量)具有自动存储期寄存器变量不能使用地址运算符因为被static修饰的变量不会中途被释放,所以不能用static修饰函数的形参变量的定义放在所有函数定义的外部即创建了一个外部变量,若外部变量在其他文件中定义,则需见extern修饰全局变量只能用常量表达式来赋值:int i;    int j = 2*i;不被允许 ptd = (double *)malloc(n…
  第12章 存储类别.链接和内存管理 通过内存管理系统指定变量的作用域和生命周期,实现对程序的控制.合理使用内存是程序设计的一个要点. 12.1 存储类别 C提供了多种不同的模型和存储类别,在内存中储存数据. 被储存的每一个值都占用一定的物理内存:C语言把这样一块内存称为对象(object). 对象可以储存一个或多个值.或者并未存储实际的值. C不是面向对象的语言,面向对象编程中的对象指的是类对象. 程序需要一种方法访问对象 ---> 通过声明变量来完成 int entity =3; 该声明创…
目录 存储类 作用域 链接 存储时期 自动变量 寄存器变量 具有代码块作用域的静态变量 具有外部链接的静态变量 extern关键字 具有内部链接的静态变量 多文件 存储类 C为变量提供了5种不同的存储类型: 自动 寄存器 具有代码块作用域的静态 具有外部链接的静态 具有内部链接的静态 不同角度描述变量: 存储时期 变量在内存中保留的时间 变量作用域(Scope)以及它的链接(Linkage) 变量的作用域和链接一起表明程序的哪些部分可以通过变量名来访问该变量 不同的存储类提供了变量的作用域.链接…
12天学好C语言--记录我的C语言学习之路 Day 12: 进入最后一天的学习,用这样一个程序来综合考量指针和字符串的关系,写完这个程序,你对字符串和指针的理解应该就不错了. //输入一个字符串,内有数字和非数字字符,如:A123x456 17234?532tab32622,然后将,123,456,17234,532,32622这些被非数字字符分割开的数字找出来,输出这些数. //此程序的关键点在于遇到需要输出的字符就记录下来,然后判断他的下一个字符是不是有效字符,有效则不做判定继续执行有效字符…
练习12.1:在此代码的结尾,b1 和 b2 各包含多少个元素? StrBlob b1; { StrBlob b2 = {"a", "an", "the"}; b1 = b2; b2.push_back("about"); } b2被销毁,b1包含4个元素. 练习12.2:编写你自己的StrBlob 类,包含const 版本的 front 和 back. const string& StrBlob::front() c…
因为对内存管理部分一直没有很清楚的思路,所以一直在找资料想系统看一下这部分的内容.在C primer plus里看到了这一章,虽然大多都是心知肚明的东西,但是还是很多概念性系统性的东西让我眼前一亮,把笔记整理到这里来,用于自己回顾. 作用域: l  代码块作用域:在代码块中(花括号包含)定义的变量,函数的形参也具有代码块作用域 l  函数原型作用域:函数原型中使用的变量名 l  文件作用域(全局变量):在所有函数之外(包括main函数)定义的变量具有文件作用域. 链接: l  外部链接:具有外部…
存储时期即生存周期——变量在内存中保留的时间 变量的作用域和链接一起表明程序的哪些部分可以通过变量名来使用该变量. 注意:生存期和作用域是两个不同的概念. 作用域    作用域描述了程序中可以访问一个标识符的一个或多个区域.一个C变量的作用域可以是代码块作用域.函数原型作用域,或者文件作用域. 在代码块中定义的变量具有代码块作用域,从该变量被定义的地方到包含该定义的代码块的末尾该变量均可见.其次,函数的形式参量尽管在函数的开始花括号前进行定义,同样也具有代码块作用域,隶属于包含函数体的代码块.…
动态存储类 StrVec Class Design StrVec Class Definition class StrVec { public: //构造函数 StrVec():elements(nullptr), first_free(nullptr), cap(nullptr){} //用initializer_list<string>初始化參数列表 StrVec(initializer_list<string> il):StrVec(il){} //拷贝构造函数 StrVec…