C语言之常量与变量

数据类型(32位平台下)

数据类型

所占字节数

取值范围

char

         1

-128~127

unsigned char

         1

0~255

short

         2

-32768~32767

unsigned short

         2

0~65535

int

         4

-2147483648~2147483647

unsigned int

         4

0~4294967295

long

         4

-2147483648~2147483647

unsigned long

         4

0~4294967295

float

         4

 

double

         8

 

长整型至少应该和整型一样长,而整型至少应该和短整型一样长。

缺省的char变量要么是unsigned char ,要么是signed char,这取决于编译器,所以,如果对程序的可移植性要求比较高的话,程序中所使用的char型变量的值位于signed char 和 unsigned char之间。

常量

1、字面常量

     类似于 1 , 3.14 , ‘ a ’, ' \n ' 等

2、const 定义的常变量

    在C语言中,const修饰的变量仍然是一个变量,但是具有常属性,不能直接被改变

    在C++中,const修饰的标识符就是一个常量

3、#define 宏定义的标识符常量

   eg: #define PAI 3.1415 

4、枚举常量 (枚举关键字:enum)

    枚举常量默认第一个值为0,之后依次递增1.

    eg: 

enum Sex

{

    MALE,            //值为0

    FEMALE,          //值为1

    SECRET           //值为2

}

枚举常量的好处

1)、提高程序的可读性

2)、提供有限个选择,避免错误输入其他信息,规范程序的有效执行性,使代码更严谨。

变量

变量的命名规则:

C语言规定必须以字母或下划线 _ 开头,后面可以跟若干个字母、数字、下划线。且不能使用关键字或保留字做变量名

变量的分类

局部变量:出现在局部范围(代码块内部)内的变量

全局变量:出现在所有代码块之外的变量

 

局部变量

全局变量

生命周期

创建的那个局部范围

止于程序结束

作用域

当前代码块内

整个工程

存储位置

栈空间

静态区

static修饰的变量与全局变量的异同

相同点

1、生命周期都是止于程序结束

2、都存在静态区

 

相异点

1、作用域不同(static修饰的变量作用域为局部范围)

2、全局变量有外部链接属性(static修饰的变量没有)

注意:若用static修饰全局变量会改变其外部链接属性

变量有值属性和类型属性两种属性。在创建一个变量的时候最好将其初始化。

你可能感兴趣的:(C语言复习)