您的位置:首页 > 编程语言 > C语言/C++

深入理解C语言

2016-02-23 09:40 323 查看
由一些基本原理和基本规定出发,经过简单的几步推导,我们往往可得出许多丰富的推论。

EOF:End Of File,文件结束标志

main 的本质

C语言不允许嵌套定义

C语言允许嵌套调用

故而,一定有一个函数作为程序的起点,这个函数正是
main()
,程序的入口和起点。

char 类型变量的本质含义

一个二进制位,能表示两种状态;

C语言规定一个 char 类型变量,占一个字节(1 byte),8个二进制位(8 bits)。

8 个二进制位表示的是它能代表 255 种状态,而非具体的数值;

声明与定义

void swap(int&, int&);


声明是给编译器看的,告诉编译器根据参数及返回值类型建栈

从 sizeof 关键字到宏

宏效率的来源,编译器确定其值;

int a = 1;
std::cout << sizeof(a = 3) << std::endl;
std::cout << a << std::endl;


并未如预料的那样,输出为4, 3,真正的输出为4,1,也就是未对
a
的值做修改,也即并未执行
a=3
的赋值语句,仅仅是返回了
int
类型(左值的类型),供
sizeof
使用,更多关于
sizeof
的讨论请见C/C++基础::sizeof() 与 sizeof(string)

数组的本质

arr[0] ⇒ ?

arr[1] ⇒ ?

数组(包括 vector、list)的本质是位置(索引、下标)与位置(索引、下标)上的值的映射关系。

位置自然是: 0, 1, …, n-1

其上的值: a[0], a[1], …, a[n-1]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: