概述 |---
基础(很重要的,谨记)|---
声明与定义 |----
声明 |-----
声明是向编译器介绍名字——标识符,并告知编译器如何为该名字分配内存——类型信息。
注意——一旦声明某变量或函数,编译器便知道它们的模样,并知道如何去引用它们,因此声明是非常重要>_<必不可少的。
-----> 代码示例 :①int i; ②extern double x; ③void f( );
定义 |-----
定义是为名字开辟空间分配存储空间。
对于变量,编译器得知变量的类型后,然后根据类型分配空间保存此变量的值;对于函数,编译器会生成代码。
注意——每个变量或函数的定义有且仅有一个,因此定义与声明一样也是必不可少的。
----->代码示例 : ①int i = 0; ②void f( ) { //..... }
初始化 |----
初始化就是在变量定义的时候赋予初值,而在声明的时候赋初值,这时声明与定义并存。
注意——初始化在写程序的时候,无时无刻都是最重要的,很多不可预料的错误都会从使用没初始 化的变量而引发的。
变量 |----
定义 |-----
变量提供了程序可以操作并且有名字的存储区。
左值与右值 |-----
左值 |------
左值 ( l-value ) —— 左值可以出现在赋值语句的左边或右边。变量都是左值,可读可写。
右值 |------
右值 ( r-value ) —— 右值只能出现在赋值语句的右边,不能出现在赋值语句的左边。常量或字面值都是右值,只能度不能写。
常量 |----
程序中一些只能读但不可改变的值,诸如字面值常量。
字面值字符用单引号括住,字面值字符串用双引号括住,数值字面值直接写阿拉伯数字。
魔数 |----
在程序中出现的数字字面值,但它的意义在上下文中没体现出来,就像是魔术般地凭空出现一样,这些数字称为魔数。
建议 :在程序中尽量少用或不用魔数,因为这能提高程序的可读性与维护性。
----->代码示例 :for ( int i = 0; i < 256; ++i ) { //.... } 此处数字256便称为魔数。
字、字节与位 |----
字 |-----
字 ( word ) —— 在给定机器上进行整数计算的自然单元。通常一个字足以容纳一个地址。一般在33位机器上,机器字长为4个字节。
字节 |-----
字节 ( byte ) —— 计算机最小的可寻址存储单元。大多数机器上,一个字节有8个位 ( bit )。
位 |-----
位 ( bit ) —— 计算机数据存储的最小单位。一位( 1b )只能表示 0 或 1。
未定义行为 |----
未定义定位 ( undefined behavior ) —— 语言没有规定其意义的用法,任由编译器自由去做某些事。
警告 :若程序的设计依赖未定义行为将产生大量难以跟踪的运行时错误与移植性问题。
表达式 |----
表达式是最小的计算单元,它包含一个或多个操作数并经常含有一个操作符,最终会被求值并产生一个结果。
条件 |----
求值为真或假的表达式。值为0的表达式是假,非0值的是真。
语句 |----
C++程序中最小的独立单元,一般以分号结束语句。