C语言测试四

  1. 描述下列指针意义

    ​ 普通指针: 一个存储地址的变量

    ​ 数组指针:存储数组首地址的变量

    ​ 函数指针:存储函数首地址的变量

    ​ 二级指针:存储一级指针本身地址的变量

  2. 什么是指针常量和常量指针

    指针常量:指针本身是常量,指向的地址不可以改变,在定义时必须同时赋初值

    常量指针:指向常量的指针,不能指向变量,指向的内容不可改变

  3. 什么是数组指针和指针数组

    数组指针:本质是指针,指向一个数组首地址

    指针数组:本质是数组,存的都是指针变量

  4. 你对数组和函数的理解是什么

    数组本质上只是编译器在内存空间上开辟的一连串的内存,数组名就是数组的首地址。

    函数是代码的封装、功能的复用、隐藏实现细节、模块化,是C语言源程序的最小单位,函数名是函数所占内存空间的首地址,和数组一样都是一段连续空间。

  5. 如何把一个一维数组逻辑上转换为二维数组

    b[i][j]=a[i*h+j];

  6. malloc的作用是什么,为什么需要它

    用于在堆区动态地分配内存空间;因为栈区空间有限,需要我们手动在栈区申请空间

  7. 什么是指向函数的指针,请书写一个函数有2个int类型参数返回值为float的指针

    函数指针,存的是函数首地址;

    float (*p)(int a, int b)

  8. 在main函数中如何获取外部传递的启动参数,请书写完全

    int main(int argc, char* argv[])

  9. int(*s[10])(int)表示的是什么

    一个指针数组,存的指针指向的是有一个int类型返回值为int的函数

  10. 指针的使用错误有哪些

    空指针、野指针(指向释放后的地址或未初始化)、数组越界、未释放内存

你可能感兴趣的:(测试知识点汇总,c语言,数据结构,算法)