摘要: 1:引入内联函数的主要目的是,用它替代C语言中表达形式的宏定义来解决程序中函数调用的效率问题。在C语言里可以使用如下的宏定义: 这种宏定义在形式及使用上像一个函数,但它使用预处理器实现,没有了参数压栈、代码生成等一系列的操作, 因此效率很。这种宏定义在形式上类似于一个函数,但在使用它时,仅仅只是做预 阅读全文
posted @ 2017-10-08 16:45 一串字符串 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 1:有如下代码: 代码第3行用#pragma pack将对其设为1.由于结构体test中的成员s1、s2和i的自身对齐分别为2、2和4,都小于1.因此它们都是用1作为对齐,sizeof(test)=1+2+2+4=9. 如果注释掉第3行,则编译器默认对齐为8.所以各个成员自身的对齐都小于8,因此它们 阅读全文
posted @ 2017-10-08 16:33 一串字符串 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 1:它们的区别如下: (1)sizeof是操作符,strlen是函数。 (2)sizeof操作符的结果类型是size_t,它在头文件中typedef为unsignedint类型,该类型保证能容纳实现所建立的的最大对象的字节大小。 (3)sizeof可以用类型作参考,strlen只能用char*做参考 阅读全文
posted @ 2017-10-08 15:08 一串字符串 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 1:全局变量的说明之前再加上static就构成了静态的全局变量。全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别在于,非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的;而静态全局变量则 阅读全文
posted @ 2017-10-08 13:28 一串字符串 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 1:在C语言中,关键字static有3个明显的作用: (1)在函数体,一个被声明为静态的变量在这一函数被调用的过程中维持其值不变。 (2)在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所有的函数访问,但不能被模块外其他函数访问。它是一个本地的全局变量。 (3)在模块内,一个被声明为静态 阅读全文
posted @ 2017-10-08 12:34 一串字符串 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 1:作用如下: (1)const用于定义常量:const定义的常量编译器可以对其进行数据静态类型安全检查。 (2)const修饰函数形式的参数:当输入参数为用户自定义类型和抽象数据类型时,应该将“值传递”改为“const&传递”,可以提高效率。比较下面两段代码: 第一个函数效率低。函数体内产生A类型 阅读全文
posted @ 2017-10-08 09:25 一串字符串 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 1:#define只是用来做文本替换的。例如: 那么,程序进行编译的时候,编译器会首先将“#define PI 3.1415926”以后所有代码中的“PI”全部换成“3.1415926”,然后进行编译。因此,#define常量则是一个Coppile-Time概念,它的生命周期止于编译器,它存在于程序 阅读全文
posted @ 2017-10-08 08:55 一串字符串 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 1:代码如下: 阅读全文
posted @ 2017-10-08 08:33 一串字符串 阅读(500) 评论(0) 推荐(0) 编辑