关于free函数的描述错误的是()
A.函数原型是int*free(int*p)
B.使用free函数时需要头文件stdlib.h
C.使用free函数时需要强制类型转换
D.free函数中的参数可以是任意的指针变量
第1题:
给定函数原型如下: int* f(int *p); 而另有变量定义如下: int i; 哪个对函数的调用是错误的?
A.f(&(i+6));
B.f(&i);
C.*f(&i) = 6;
D.int* p = f(&i);
第2题:
2、下列说法正确的是
A.执行函数调用时,系统自动在栈上为函数内的局部变量及形参分配内存,函数执行结束时,自动释放这些内存,这些无需程序员来管理。
B.函数free()的参数是指向被释放的动态内存的指针变量。
C.对于用动态内存分配函数申请的内存,其生存期由程序员自己来决定。
D.函数free的函数原型是 void* free(void* p); 表示函数没有返回值。
E.程序运行结束以后,所有内存自然会随之马上释放并归还给系统,因此即使不释放不再使用的动态内存,也不会有什么问题。
F.执行函数调用时,系统在堆上为函数内的局部变量及形参分配内存,函数执行结束时,需要程序员用free()函数释放这些内存。
G.用动态内存分配函数来申请的内存都是从栈上分配的。
H.栈的特点是先进先出。
I.用free释放指针变量所指向的内存以后,就意味着该指针变量变成了空指针。
第3题:
3、下列说法正确的是
A.执行函数调用时,系统自动在栈上为函数内的局部变量及形参分配内存,函数执行结束时,自动释放这些内存,这些无需程序员来管理。
B.函数free()的参数是指向被释放的动态内存的指针变量。
C.对于用动态内存分配函数申请的内存,其生存期由程序员自己来决定。
D.函数free的函数原型是 void* free(void* p); 表示函数没有返回值。
E.程序运行结束以后,所有内存自然会随之马上释放并归还给系统,因此即使不释放不再使用的动态内存,也不会有什么问题。
F.执行函数调用时,系统在堆上为函数内的局部变量及形参分配内存,函数执行结束时,需要程序员用free()函数释放这些内存。
G.用动态内存分配函数来申请的内存都是从栈上分配的。
H.栈的特点是先进先出。
I.用free释放指针变量所指向的内存以后,就意味着该指针变量变成了空指针。
第4题:
若主函数有变量定义:int x=1 ; double y=2.3 ; 且有合法的函数调用语句f (y , x); 则下列关于函数f的原型声明中一定错误的是 。
A.void f(double, int);
B.int f(int , int);
C.int f(double, double);
D.void f(double, int, int);
第5题:
如果一个函数想“返回”3个整数值,前两个参数是需要提供的原始数据,则函数原型可以写成: int f(int ,int ,int *,int *);