![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
_Mr_Cheung
这个作者很懒,什么都没留下…
展开
-
变量存储类型
变量的存存储类型是指存储变量值的内存类型,其决定变量何时创建、何时销毁。变量的存储空间分为:普通内存、运行时堆栈和硬件寄存器。 申明在所有代码块外的缺省存储类型变量的存储类型是静态的(static),此类变量称作静态变量。静态变量总是存储在静态内存中,也就是不属于堆栈的内存中。静态变量的存储类型是不可以被更改的。静态变量在程序运行前被创建,在整个程序运行期间始终存在。 申明在代码块内的原创 2014-03-30 23:21:34 · 923 阅读 · 0 评论 -
变量声明和定义的区别
变量的声明有两种情况:1、一种是需要建立存储空间的。例如:int a 在声明的时候就已经建立了存储空间。2、另一种是不需要建立存储空间的。 例如:extern int a 其中变量a是在别的文件中定义的。前者是“定义性声明(defining declaration)”或者称为“定义(definition)”,而后者是“引用性声明(referncing declaration)”,从广义转载 2014-03-30 23:29:38 · 451 阅读 · 0 评论 -
作用域
作用域讨论的是标识符在文件中可以被访问的范围。变量作用域分为文件作用域、代码块作用域、原型作用域和函数作用域。 在所有代码块外申明的标识符具有文件作用域,从申明之处开始到文件末尾,该标识符可以被访问。由于文件中定义的函数名并不属于任何代码块,因此它具有文件作用域。同样使用#include自定义头文件时,头文件中的申明语句就好比写在文件中,因此它们也具有文件作用域。 在代码块开始处申明的原创 2014-03-31 00:15:17 · 527 阅读 · 0 评论 -
链接属性
与作用域不同的是,链接属性讨论的是标识符在工程内被访问的范围。 链接属性分为external,internal和none。具有external属性的标识符无论被申明多少次、无论申明处在多少个文件中,其始终被编译器当作一个实体。具有一internal属性的标识符多次申明在同一文件中时被当作同一实体,申明在不同文件中时被当作不同实体。具有none属性的标识符每申明一次被当作一个原创 2014-04-01 20:08:44 · 750 阅读 · 0 评论 -
指针数组&数组指针
#include #include #define COL 5#define ROW 4int main(){ int a[5][COL]; int (*p)[COL]; //数组指针 int *np[COL]; //指针数组 int i,j; for(i=0;i { for(j=0;j原创 2014-04-22 17:30:32 · 643 阅读 · 0 评论 -
C/C++中的取地址与引用
函数调用的时候,引用相对于指针来说更高效、跟简便。因为指针传参的实质还是传值调用,copy地址需要开销,而引用直接被编译器优化。有些时候需要二级指针的地方,使用指针的引用会使问题简化很多,我在对树的操作的时候就碰到过,大家可以感受一下。原创 2014-09-09 11:14:53 · 9733 阅读 · 1 评论 -
C语言可变参数列表编程
最近在看一份代码,想定义一些自己的打印信息。但是其中涉及到C语言可变参数的编程,虽然之前了解相关的内容,但还不是很熟练,不得不重新温故一下。如下代码权当记录基本的用法,很多原理还说不上来。#include #include #include void print_arg(int num,va_list arg);float average(int num, ...);原创 2015-11-29 22:19:14 · 642 阅读 · 0 评论