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
相关文档:
系统环境:Windows 7
软件环境:Visual C++ 2008 SP1 +SQL Server 2005
本次目的:编写一个航空管理系统
这是数据库课程设计的成果,虽然成绩不佳,但是作为我用VC++ 以来编写的最大程序还是传到网上,以供参考。用VC++ 做数据库设计并不容易,但也不是不可能。以下是我的程序界面,后面 ......
/*编写程序,输入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语言中,通过数组名或者指针变量输出一个字符串,我理解为两个:字符串终止符的存在;以%s格式的输出方式。
char *p="I love china!";
& ......
在C/C++中我们有时为了节省内存占用空间,需要使用到位域,如下所示代码:
struct SDummy
{
int A : 2;
int B : 8;
int C : 12;
int D : 10;
};
在计算机内存昂贵的情况下,位域不乏为一种有效的节省内存占用空间又让代码书写比较通俗易懂的方法。但是在现今内存相 ......
定义一个native 方法:
package ext;
import java.util.Hashtable;
public class TestJNI
{
static
{
System.loadLibrary("dllfile");
}
public TestJNI()
{
......