C语言(十八)综合

一、什么叫分配内存

    操作系统把某一块内存空间的使用权利分配给该程序叫分配内存

    操作系统吧分配给该内存空间的使用权利收回,该程序就不能够在使用这一块内存空间

    这叫释放内存

    附注:释放内存不是把该内存的内容清零

 

二、变量为什么必须得初始化

    不初始化,则变量通常就是垃圾值

 

三、详细说明系统是如何执行,int i = 5; 这个语句的

    1. vc++6.0软件请求操作系统为 i 分配存储空间

    2. 操作系统会在内存中寻找一块空闲的区域,把该区域当作 i 来使用  

    3. vc++6.0会把 i 和这块空闲区域关联起来,今后对字母 i 操作就是对这块空闲的

      区域操作。    

    4. 把 5 存储到字母 i 所关联的内存区域中。

      附注:所谓内存区域也就是内存的一块存储单元。

 

四、请详细列出C语言所有的基本类型

    int   long int   shor int     char  float  double

 

五、在printf函数中int用%d输出,请问: long int  char  double  float分别用什么输出?

  %ld  %c  %lf  %f

 

六、函数的优点是什么?

  1. 避免重复性操作

  2. 有利于程序的模块化

 

七、谈谈你对函数的理解

 

 

八、 什么是指针,什么是地址,什么是指针变量,三者之间是什么关系?

  地址就是内存单元的编号  指针就是地址  指针和地址是同一个概念

  指针变量是存放内存单元编号的变量   指针变量和指针是两个完全不同的概念

  只不过人们通常把指针变量简称为指针

 

九、请写出静态变量和动态变量的异同

   相同

    都需要分配内存

   不同

    静态变量由系统自动分配的,自动释放,程序员无法在程序运行的过程当中手动分配

    也无法在程序运行的过程中手动释放

    静态变量是在栈中分配的

    静态变量只有在函数终止之后,静态变量的存储空间才会被系统自动释放

 

    动态变量由程序员手动分配,手动释放,程序员可以在程序运行的过程当中手动分配

    也可以在程序运行的过程中手动释放

    动态变量是在堆中分配的

    程序员可以在函数执行的过程当中任何一个时刻手动的释放动态变量的空间,不需要等函    数终止时才释放

    

十、 C语言中哪些知识点是我们学习的重点,请一一列举出来

    流程控制 函数 指针  静态内存和动态内存  

 

十一、 二进制全部为零的含义 -- 0000000000000 的含义

    1.  数值零

    2. 字符串结束标记符‘\0’

    3.  空指针NULL 

      NULL本质也是0,而这个零不代表数字零,而表示的是内存单元的编号零

 

    我们计算机规定了,以零为编号的存储单元的内容不可读,不可写。

    

 

posted @ 2013-07-11 12:28  tongtian  阅读(248)  评论(0编辑  收藏  举报