易截截图软件、单文件、免安装、纯绿色、仅160KB

C枚举类型的使用方法

1.  枚举的定义枚举类型定义的一般形式为:
    enum 枚举名{ 枚举值表 };
在枚举值表中应罗列出所有可用值。这些值也称为枚举元素。
例如:
   
该枚举名为weekday,枚举值共有7个,即一周中的七天。凡被说明为weekday类型变量的取值只能是七天中的某一天。
2.  枚举变量的说明
如同结构和联合一样,枚举变量也可用不同的方式说明,即先定义后说明,同时定义说明或直接说明。
设有变量a,b,c被说明为上述的weekday,可采用下述任一种方式:
enum weekday{ sun,mou,tue,wed,thu,fri,sat };
enum weekday a,b,c;
或者为:
enum weekday{ sun,mou,tue,wed,thu,fri,sat }a,b,c;
或者为:
enum { sun,mou,tue,wed,thu,fri,sat }a,b,c;
 
枚举类型在使用中有以下规定:
1.  枚举值是常量,不是变量。不能在程序中用赋值语句再对它赋值。
  例如对枚举weekday的元素再作以下赋值:
    sun=5;
mon=2;
sun=mon;
都是错误的。
2.  枚举元素本身由系统定义了一个表示序号的数值,从0开始顺序定义为0,1,2…。如在weekday中,sun值为0,mon值为1,…,sat值为6。
【例11.10】
main(){
    enum weekday
    { sun,mon,tue,wed,thu,fri,sat } a,b,c;
    a=sun;
    b=mon;
    c=tue;
    printf("%d,%d,%d",a,b,c);
}
说明:
只能把枚举值赋予枚举变量,不能把元素的数值直接赋予枚举变量。如:
    a=sum;
b=mon;
是正确的。而:
    a=0;
b=1;
是错误的。如一定要把数值赋予枚举变量,则必须用强制类型转换。
如:
    a=(enum weekday)2;
其意义是将顺序号为2的枚举元素赋予枚举变量a,相当于:
    a=tue;
还应该说明的是枚举元素不是字符常量也不是字符串常量,使用时不要加单、双引号。
【例11.11】
main(){
    enum body
    { a,b,c,d } month[31],j;
    int i;
    j=a;
    for(i=1;i<=30;i++){
      month[i]=j;
      j++;//VC不支持自增运算
      if (j>d) j=a;


相关文档:

C程序与汇编程序混合编程


C程序与汇编程序相互调用规则
为了使单独编译的C语言程序和汇编程序之间能够相互调用,必须为子程序间的调用规
定一定的规则。ATPCS,即ARM, Thumb过程调用标准(ARM/Thumb Procedure Call
Standard),是ARM程序和Thumb程序中子程序调用的基本规则,它规定了一些子程序间调用
的基本规则,如子程序调用过程中的寄存 ......

C/C++中的static

C++中的Static有两个作用。
1、 静态局部变量 
   静态局部变量在函数内定义 它的生存期为整个源程序,但是其作用域在该函数内,只能在定义该变量的函数内使用该变量。 允许对构造类静态局部量赋初值,若未赋以初值,则由系统自动赋以0值。 
void fun1()
{
static int i = 0;
......

C指针(1)

C语言必知必会
指针:
1.指针声明后要赋值!否则是空指针,可不知道指向了哪里
例如:
void swap(int *a,int *b){
    int *tmp;
    *tmp=*a;
    *a=*b;
    *b=*tmp;
}
本来是想利用上面的swap函数实现两个数的互换,但是*tep=*a;这句话是有误的 ......

C Sharp 入门(二)变量

先学VB,再学C#。学好了C#学C++就不在话下了!
 
还是先在CS中建立一个控制台程序,再打开“Program.cs”。
在 void_Main 输入以下代码:
这次代码较长,我就不高亮了!
            double pp1;//定义变量
    &nb ......

ubuntu下解决 C compiler cannot create executables

       今天,在Ubuntu上安装Python遇到了问题: C compiler cannot create executables。这应该是编译环境出现了问题。在网上搜索了一下,解决方法如下:
       sudo apt-get install build-essential即可。
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号