首页 > 代码库 > 1.枚举类型、声明指针、常量、存储类型、运算符优先级记忆

1.枚举类型、声明指针、常量、存储类型、运算符优先级记忆

原文:1.枚举类型、声明指针、常量、存储类型、运算符优先级记忆

1.枚举类型

枚举(enumerated)类型就是指它的值为符号常量而不是字面值的类型,以下面的这种形式来声明:enum   Jar_Type {CUP,PINT,GALLON,OUART}; 这条语句声明了一个类型,称为 Jar_Type。而enum  {CUP,PINT,GALLON,OUART}; 这条语句声明表示这种类型的变量以整型的方式存储,这些符号名的实际值都是整型值。这里CUP是0,PINT是1,以此类推。下面看一下一个具体的例子:

1 #include<stdio.h>
2 #include<stdlib.h>
3 int main()
4 {
5 enum{red,blue,white};
6 printf("%d,%d,%d",red,blue,white);
7 system("pause");
8 return 0;
9 }

结果如下:

如果换成enum{red=1,blue=3,white};结果又为多少呢

适当的时候可以为这些符号名指定特定的整型值。只对部分符号名赋值也是合法的,如果某个符号名未显式指定一个值,那么它的值就比前面一个符号名的值大1。

2.声明指针

在声明指针变量时,你也可以为它指定初始值,例如:char *message="Hello world!";这条语句把message声明为一个指向字符的指针,并用字符串常量中的第1个字符的地址对该指针进行初始化。这个声明的理解,尤其要注意,表面上看上去初始值似乎是赋给表达式*message,事实上它是赋给message本身的。换句话说,前面一个声明相当于:

char *message;

message="Hello world!";看下面这个例子:

 1 #include<stdio.h>
2 #include<stdlib.h>
3 int main()
4 {
5 char *message="hello,world!";
6 //char *message;
7 //message="hello,world!";
8 printf("%s",message);
9 printf("\nhello.world!");
10 system("pause");
11 return 0;
12 }

结果如下:

3.常量

int  *pi;      pi是一个普通的指向整型的指针。

int  const  *pci;      则pci是一个指向整型常量的指针。你可以修改指针的值,但是你不能修改它所指向的值。

int  *  const  cpi;    则声明cpi为一个指向整型的常量指针。此时指针是常量,它的值无法修改,但你可以修改它所指向的整型的值。

4.存储类型

变量的存储类型是指存储变量值的内存类型。变量的存储类型决定变量何时创建、何时销毁以及它的值将保持多久。有三个地方可以用于存储变量:普通内存、运行是堆栈、硬件寄存器。在这三个地方存储的变量具有不同的特性。 

5.运算符优先级记忆:单目运算到双目运算符,优先级高到低:算术、关系、逻辑、运算。

2011-11-23   21:23:44

1.枚举类型、声明指针、常量、存储类型、运算符优先级记忆