易截截图软件、单文件、免安装、纯绿色、仅160KB

C/C++关键字static,const,inline,define,typedef

C/C++关键字static,const,inline,define,typedef 


document.body.oncopy = function() {
if (window.clipboardData) {
setTimeout(function() {
var text = clipboardData.getData("text");
if (text && text.length > 300) {
text = text + "\r\n\n本文来自CSDN博客,转载请标明出处:" + location.href;
clipboardData.setData("text", text);
}
}, 100);
}
}


static
1)
产生背景
引出原因:函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题
:
如果想将函数中此变量的值保存至下一次调用时,如何实现?
最容易想到的方法是定义一个全局的变量,但定义为一个全局变量有许多缺点,最明显的缺点是破坏了此变量的访问范围(使得在此函数中定义的变量,不仅仅受此函数控制)。
      
类的静态成员也是这个道理。
解决方案:因此
C++
中引入了
static
,用它来修饰变量,它能够指示编译
器将此变量在程序的静态存储区分配空间保存,这样即实现了目的,又使得此变量的存取范围不变。
2)
具体作用
Static
作用分析总结:
static
总是使得变量或对象的存储形式变成静态存储,连接方式变成内部连接,对于局部变量(已经是内部连接了),它仅改变其存储方式;对于全局变量(已经是静态存储了),它仅改变其连接类型。
(1
连接方式:成为内部连接;
2
存储形式:存放在静态全局存储区
)

const
1)
产生背景
a) C++
有一个类型严格的编译系统,这使得
C++
程序的错误在编译阶段即可发现许多,从而使得出错率大为减少,因此,也成为了
C++

C
相比,有着突出优点的一个方面。
b) C
中很常见的预处理指令
#define VariableName VariableVa


相关文档:

航空公司管理系统(VC++ 与SQL 2005)

系统环境:Windows 7
软件环境:Visual C++ 2008 SP1 +SQL Server 2005
本次目的:编写一个航空管理系统
      这是数据库课程设计的成果,虽然成绩不佳,但是作为我用VC++ 以来编写的最大程序还是传到网上,以供参考。用VC++ 做数据库设计并不容易,但也不是不可能。以下是我的程序界面,后面 ......

c的一个小问题

/*编写程序,输入2个数以及加减乘除中的某运算符号,并调用自己编写的函数计算相应的结果*/
#include<stdio.h>
#include<conio.h>
float cal(int a,char sym,int b);
main()
{
 int a=0,b=0;
 char sym='\0';
 float c=0.0;
 scanf("%d%c%d",&a,&sym,&b);
 c=c ......

c链表示例

C宏实例
摘自Linux内核2.6.21.5源码(部分),展示了链表的另一种实现思路
未采用ANSI C标准,采用GNU C标准,遵从GPL版权许可。
struct list_head {
struct list_head *next, *prev;
};

#define LIST_HEAD_INIT(name) { &(name), &(name) }

#define LIST_HEAD(name) \
struct list_ ......

C/C++ 函数参数的入栈顺序

对技术执着的人,比如说我,往往对一些问题,不仅想做到“知其然”,还想做到“知其所以然”。C语言可谓博大精深,即使我已经有多年的开发经验,可还是有许多问题不知其所以然。某天某地某人问我,C语言中函数参数的入栈顺序如何?从右至左,我随口回答。为什么是从右至左呢?我终究没有给出合理的解 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号