您的位置:首页 > 其它

预习第二章 数据类型

2018-01-23 16:13 141 查看
4000

1、数据类型                                  数的范围                                         字节数                                                   

         int                                   -2^31~(2^31   -1)                                  4

    unsigned int                         0~(2^16    -1)                                        4

    short int                                -2^15~(2^15    -1)                                2

   unsigned  short  int                0~(2^16    -1)                                       2

   long  int                                  -2^31~(2^31     -1)                              4

   unsigned  long                       0~(2^32    -1)                                        4

         char                                   -2^7~(2^7    -1)                                   1

    unsigned  char                        0~(2^8    -1)                                        1

2、void fun()

     {

    
 static  int  a = 1; a++;

             printf( "%d\n",a );

     }

      int main(void)

     {

   
 fun();

            fun();

            return 0;

      }

       执行结果为    2      3

      在用static修饰局部变量后,该变量只在初次运行时进行初始化工作,且只进行一次,第二次调用fun()函数时,a的值为2

      并且没有进行初始化赋值,直接进行自增运算,所以得到结果为3

3、typedef  char  * p_str1;

      #define  p_str2  char *;

      p_str1  s1,  s2;

      p_str2  s3,  s4;

       上述变量的定义中,s1、s2、s3都被定义为char*,而s4则定义成了char

       原因在于,#define只是简单的字符串替换而typedef则是为一个类型起新名字

4、枚举和#define宏的区别

     #define 宏常量实在预编译阶段进行简单替换,枚举常量则是在编译的时候确定其值

    一般在编译器里,可以调试枚举常量,但是不能调试宏常量

    枚举可以一次定义大量相关的常量,而#define 宏一次只能定义一个

5、定义和声明的区别

     定义就是创建一个对象,为这个对象分配一块内存并给它取上一个名字。一个变量或对象在一定的区域内只能

     被定义一次。

     声明是告诉编译器,这个名字已经匹配到一跨爱内存上了,声明可以多次出现

6、const修辞构造类型和指针及其参合体

     将类型去掉,看const修辞谁,谁的值就是不能修改的

     如const  int  a[5] = {1,2,3,4,5};    去掉int,变成const  a[5],那么a数组里的值就不变了

7、什么是变量

     其值在其作用域内可以改变的量成为变量

     变量在使用前必须定义

     变量在内存中存放和它的值没有关系,而是和它的类型有关的

8、局部变量和全局变量的区别

    局部变量是在函数内作定义说明的,其作用域极限与函数内,离开该函数后再使用这种变量是非法的

    全局变量是在函数外部定义的变量,它不属于哪一个函数,属于一个源程序文件,其作用域是整个源程序

9、如何用typedef简化复杂的变量声明

     在传统的变量声明表达式里用类型名代替变量名,然后把关键字typedef加在该语句开头

10、联合体和结构体的区别

      在结构中各成员有各自的内存空间,一个结构变量的总长度是各成员长度之和

      在联合中,各成员共享一段内存空间,一个联合变量的长度等于各成员中最长的长度(同样遵循对齐)

     
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: