易截截图软件、单文件、免安装、纯绿色、仅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


相关文档:

C与C++中字符指针处理字符串

定义一个字符指针,其本质的处理方式是按字符数组处理的,在内存开辟一个字符数组用来存放字符串常量,这样必定会终止符。而这样的特性也仅对于字符指针变量。
在C语言中,通过数组名或者指针变量输出一个字符串,我理解为两个:字符串终止符的存在;以%s格式的输出方式。
char *p="I love china!";
   & ......

Symbian C/S 机制分析


以下分析基于:
Developer Platform :S60 3rd Edition, Feature Pack 2 SDK
Operating System :Symbian OS v9.3
一,为什么要使用Client/Server架构
在Symibian OS中所有的异步服务都是Server通过C/S架构来实现的。Client是利用Server提供的特定服务的程序,Server接受来至Client的请求消息并同步或异步的处理他们。C ......

C和C++的位运算

  有次一个同事问我
    swc ^= swc;
  是什么意思,我也不知道,查了下,意思应该是将swc变量清0,疑惑的是为什么就不能写成 swc = 0; 呢?不明白
  顺便记录下其他的操作,碰到新的再追加:
    swc = ~swc;    //变量取反 ......

C中malloc和free的原理 摘自techriver.cublog.cn

谈谈C语言的malloc()和free()
一、malloc()和free()的基本概念以及基本用法:
1、函数原型及说明:
void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。
关于分配失败的原因,应该有多种,比如说空间不足就是一种。
void free(void *Fir ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号