原文: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