C语言 第14节 考试题

  1. 什么叫分配内存?什么叫释放内存?
  • 操作系统将某一块儿内存空间的使用权利分配给程序。
  • 操作系统把分配给该程序的内存空间的使用权利收回,该程序就不能再使用这一块儿内存空间,这叫释放内存。
  • 程序将内存空间使用权利交还给操作系统,程序不再使用。
  • 附注:释放内存不是把该内存内容清零。
  1. 变量为什么要初始化?
    不初始化的话,则是垃圾值。

  2. 详细说明系统是如何执行 int i = 5;这个语句的
    1)VC++6.0 请求操作系统为i分配内存空间
    2)操作系统会在内存中寻找一块儿空闲的区域,把该区域当做i来使用
    3)VC++6.0 会把i和这块内存空间关联起来,今后对字母i操作,就是对这块儿空闲的区域操作。
    4)把5存储到字母i所关联的内存空间
    附注:所谓内存区域也就是内存的一块存储单元。

  3. 请列出C语言的所有基本数据类型
    int   long int   short int   char   float  double

  4. 在printf中int用%d,请问long int,char,double,float分别都用什么❓

类型 符号
long %ld
char %c
double %lf
float %f
  1. 函数的优点是什么❓
    1)避免重复性操作
    2)有利于程序的模块化

  2. 谈谈你对函数的理解

  1. 什么是指针,什么是地址?什么是指针变量?三者之间什么关系?
    地址是内存单元的编号,指针就是地址,指针和地址是同一个概念。
    指针变量是存放内存地址(内存单元编号)的变量。
    指针变量和指针是2个完全不同的概念,只不过通常把指针变量简称为指针。

  2. 写出静态变量和动态变量的异同。

  • 相同点:
    都需要分配内存
  • 不同点:
    静态变量
    是由系统自动在栈中分配,自动释放,程序员无法在程序运行过程中手动分配 和释放。只有函数终止的时候,静态变量的存储空间就会被系统自动释放。
    动态变量
    由程序员手动分配,手动释放。程序员可以在程序运行的过程当中手动 分配 & 释放

你可能感兴趣的:(C语言 第14节 考试题)