标准C程序设计(一)

1 自定义类型的声明
1.1    自定义数据类型标识符可用于声明变量。一般形式: typedef type identifier
     例如:
 typedef int units;
其中units表示int类型。
随后就可以用他们来声明变量了:  
 units batch1, batch2;
 typedef的主要优点是可创建具有一定意义的数据类型名,从而提高程序的可读性。
1.2    另一个自定义数据类型是ANSI标准提供的枚举数据类型。其定义形式如下: 
  enum identifier {value1, value2, ...., valuen};
     identidier就是一个自定义的枚举数据类型,可用它来声明变量,改变量可以使括号中的某一个值(成为美剧常量)。在定义好以后,就可以如下使用该“新”类型来声明变量了:
  enum identifier v1, v2, ..., vn;
      枚举变量v1, v2只能是value1,value2。。之一。例如:  
 enum day {Monday, Tuesday, ..., Sunday};
      enum day week_st, week_end;
      week_st = Monday;
      week_end = Friday;
      if (week_st = Tuesday)
          week_end = Saturday; 
       编译器自动将整数(从0开始)赋给所有枚举常量。也就是说,将0赋给value1,1赋给value2,以此类推。但也可以显示的给枚举常量赋值,,从而把自动赋值给覆盖掉。如:     
enum day {Monday=1, Tuesday, ..., Sunday};
       这里,常量Monday被赋值为1,其余常量依次被赋值为2、3、4。。。
       枚举常量的定义和声明可在同一条语句中进行。如: 
   enum day {Monday, Tuesday, ..., Sunday} day week_st, week_end;
2 符号常量的定义
    2.1  将变量声明为常量,如: 
const int class_size = 40;
上面的语句告诉编译器,int类型的变量class_size不能被程序修改。但是,他可以向其他变量一样,用赋值语句来修改。
    2.2   将变量声明为可变的,如:volatile int date;
它可用于显示的告诉编译器,变量的值可以随时被一些外部因素(来自程序之外)修改,尽管没有使用赋值语句。即每次碰到该变量时,编译器都将检测该变量的值是否被外部因素修改过了。
记住,声明为volatile的变量同样也可有本身的程序修改。如果希望其值不能被该程序修改但可被其他程序修改,那么就可同时用const和volatile来声明变量。
   如:
volatile const int location = 100;
3 运算符与表达式
3.1 特殊运算符
    3.1.1 逗号运算符可用于将相关的表达是连接在一起。由于逗号连接的表达式从左到右进行计算,因此最右边的表达式的值即为该组合表达式的值。   如:
value = (x =10, y=5, x+y);
    3.1.2 sizeof运算符是一个编译时运算符,返回操作数作战的字节数。当程序员不知道数组或结构的长度时,往往用sizeof。也可用来在程序运行时动态的为变量分配存储空间。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章