兜兜10

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

第一节 变量

一、变量定义
  
  变量名: 只包含A~z(大写字母和小写字母)、数字0~9和下划线。 并且必须以字母或者下划线开头。变量名最长2048个字符。平时使用最好控制在31个字符以内。
  
  声明变量:
                  
          int value;                       整形变量的定义形式。
          int value=2;                   整形变量定义初始化。
          int vvalue(10);                整形变量定义初始化。
         
二、数据类型
   
    1、整数变量    int                   在内存中占用4个字节。
                        short               在内存中占用2个字节。
                        long                 在内存中占用4个字节。
    2、字符变量
                   char                      在内存中占用1个字节。
                   wchar_t                 在内存中占用2个字节。
    3、布尔变量
                   bool                      在内存中占用1个字节。
    4、浮点变量
                   double                  在内存中占用8个字节。
                   float                     在内存中占用4个字节。
                  
三、定义数据类型的同义词

    typedef long int BigOnes;               把BigOnes定义为long int的另一个类型说明符。 
                                                      可以声明: BigOnes mynum=0L;   等同  long int mynum=0L;
                                           
四、枚举类型


    enum Week{Mon,Tues,Wed,Thurs,Fri,Sat,Sun} thisWeek;    thisWeek=Thurs;   具有枚举类型的所有变量都占用4个字节。    
    enum Week nextWeek;                      在内存中占用4个字节。 
    举例:
        enum Week{Mon=1,Tues=1,Wed,Thurs,Fri,Sat,Sun} thisWeek;      
        enum Punctuation {Comma=',',Exclamation='!',Question='?'} things;
    注意:赋予的值不一定遵循升序方式。如果没有显示地指定所有值,那么将按照从最后一个指定值开始递增1的方式给每个计数器赋值。
   
五、数组变量
     
     1、数组声明格式: 数据类型  数组名称[数组长度]      long  arrary[6]   数组arrary的长度为6
     2、数组初始化:   int cubic_inches[5]={1,2,3,4,5};
                             int cubic_inches[5]={1,2,3};      则cubic_inches[4]的值为0;
                             int cubic_inches[5]={0};            则cubic_inches的所有值为0;
                             int cubic_inches[5];                   则cubic_inches的所有值为内存遗留值。
                             int values[]={1,2,3,4,5,6}         则表示values数组的长度为6,值分别是1,2,3,4,5,6。
     3、字符串数组
                       char movie_star[15]="Marilyn Monroe";              其中\0是编译器自动添加的。
                       char president[]="Ulysses Grant";                     编译器分配足够的内存来容纳该字符串和终止字符。
                       wchar_t president[]=L"Ulysses Grant";              此字符串包括终止空字符串都会占两个字节。
                      
     4、多维数组   
                       double beans[12][10];               第一个索引值是行号,第二个索引值是行内编号。(农田有12行10列)                 
                       double beans[8][12][10];                                                        (有8块农田,每块农田是12行10列)
                      
     5、多维数组初始化
                       long data[2][4]={{1,2,3,5},{7,11,13,17}}; 数组中每行的初始值都被包围在个子的大括号内。大括号之间用逗号分开。
                                                                                      我们可以在某行内省略某些初值,这样未获得初值的数组元素将被初始化为0.
                       long data[2][4]={0};                                表示这个二维数组的所有值为0.
                       char stars[][80]={"Robert Redford",
                                         "Hopalong Cassidy",
                                         "Lassie",
                                         "Slim Pickens",
                                         "Boris Karloff",
                                         "Oliver Hardy"
                                         };                      我们省略数组第一维大小,让编译器计算长度。
                                        
六、指针
    
     1、指针声明
                       long* pnumber;  long *pnumber;   
                       注意:long* pnumber,number=99;            指的是pnumber是指针,而number是long类型变量。
     2、取地址运算符  
                       pnumber=&number;                                pnumber中存储的是number的实际内存地址。
     3、取指针地址对应的值  
                       *pnumber; 
     4、初始化指针  
                       int *pnumber=NULL;   int *pnumber=0;      比较偏向后者。
     5、指向char类型的指针
                       char *proverb="A miss is as good as a mile.";  等价于 声明了一个const char 类型的数组,并将数组的地址赋值给proverb.
     6、指针数组
                       char *pstr[]={"Robert Redford",           对应的内容pstr[0]
                                     "Hopalong Cassidy",               对应的内容pstr[1]
                                     "Lassie",                               对应的内容pstr[2]
                                     "Slim Pickens",                       对应的内容pstr[3]
                                     "Boris Karloff",                      对应的内容pstr[4]
                                     "Oliver Hardy"                        对应的内容pstr[5]
                                    };
     7、常量指针和指向常量的指针
    
               指向常量的指针:               const char* pstring="Some text";   我们不能修改被指向的对象,担可以使指针指向其他对象。
               指向某个对象的常量指针:    char* const pstring="Some text";   我们不能修改指针中存储的地址,但可以修改指针指向的对象。             
               指向常量对象的常量指针:    const char* const pstring="Some text";  指针和被指向的对象都被定义成常量,都不能修改。
     8、给数组指针分配内存
                char *pstr=NULL;           指针的声明
                pstr=new char[20];         为20个字符的char数组分配空间,并将其地址存入pstr中。
                delete [] pstr;                 删除刚20个字符的数组。
                pstr=0;                         应该总是将该指针重新设置成0。
       
七、引用
      引用是另外一个变量的别名。这样的别名可以代替原来的变量名。因为是别名而非指针,所以声明引用时必须指出对应的变量。与指针不同的是,
      我们不能修改引用,使其表示另外一个变量。
      1、声明并初始化引用      
                               long number=0;                          声明变量。
                               long &number=number;                    为变量number声明一个引用。

posted on 2010-12-09 14:20  兜兜10  阅读(91)  评论(0)    收藏  举报