下面关于malloc标准库函数的描述中,正确的是()。
A.通过malloc函数可以在程序运行过程中分配存储
B.malloc函数是返回整型指针值的函数
C.malloc函数是返回空类型指针的函数
D.malloc函数的参数是分配空间的字节数
A.通过malloc函数可以在程序运行过程中分配存储
B.malloc函数是返回整型指针值的函数
C.malloc函数是返回空类型指针的函数
D.malloc函数的参数是分配空间的字节数
A.通过malloc函数可以在程序运行过程中分配存储
B.malloc函数是返回整型指针值的函数
C.malloc函数是返回空类型指针的函数
D.malloc函数的参数是分配空间的字节数
下面关于void * malloc (unsigned int size)函数描述错误的()。
A.malloc()函数用来动态分配内存,所分配的空间长度为size
B.函数的返回值为指向该区域起始地址的指针
C.若分配不成功则返回NULL
D.malloc函数申请的空间若不释放,也有可能被其他程序申请
下面程序的功能是通过动态分配内存函数malloc产生动态数组,程序的某次运行结果如下: Enter array size:8↙ array[0]=0 array[1]=10 array[2]=20 array[3]=30 array[4]=40 array[5]=50 array[6]=60 array[7]=70 按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。 #include <stdio.h> #include <stdlib.h> int main() { int *p,n,i; printf("Enter array size:"); scanf("%d",&n); __________________; for(i=0;i <n;i++) { ____________; } for(i="0;i<n;i++)" _______________; free(p); return 0;> A、第8行: p=(int *)malloc(n*sizeof(int)); 第12行: *(p+i)=i*10 第16行: printf("array[%d]=%d\n",i,*(p+i))
B、第8行: p=(int *)(n*malloc(sizeof(int*))) 第12行: *p+i=i*10 第16行: printf("array[%d]=%d\n",i,*(p+i))
C、第8行: p=(int *)malloc(n*sizeof(int)); 第12行: *p+i=i*10 第16行: printf("array[i]=%d\n",i,*p+i)
D、第8行: p=(int)malloc(n*sizeof(int *)); 第12行: *(p+i)=i*10 第16行: printf("array[i]=%d\n",i,*(p+i))
下面程序的功能是通过动态分配内存函数malloc产生动态数组,程序的某次运行结果如下: Enter array size:8↙ array[0]=0 array[1]=10 array[2]=20 array[3]=30 array[4]=40 array[5]=50 array[6]=60 array[7]=70 按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。 #include <stdio.h> #include <stdlib.h> int main() { int *p,n,i; printf("Enter array size:"); scanf("%d",&n); __________________; for(i=0;i <n;i++) { ____________; } for(i="0;i<n;i++)" _______________; free(p); return 0;> A、第8行: p=(int *)malloc(n*sizeof(int)); 第12行: *(p+i)=i*10 第16行: printf("array[%d]=%d\n",i,*(p+i))
B、第8行: p=(int *)(n*malloc(sizeof(int*))) 第12行: *p+i=i*10 第16行: printf("array[%d]=%d\n",i,*(p+i))
C、第8行: p=(int *)malloc(n*sizeof(int)); 第12行: *p+i=i*10 第16行: printf("array[i]=%d\n",i,*p+i)
D、第8行: p=(int)malloc(n*sizeof(int *)); 第12行: *(p+i)=i*10 第16行: printf("array[i]=%d\n",i,*(p+i))
下面程序的功能是通过动态分配内存函数malloc产生动态数组,程序的某次运行结果如下: Enter array size:8↙ array[0]=0 array[1]=10 array[2]=20 array[3]=30 array[4]=40 array[5]=50 array[6]=60 array[7]=70 按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include <stdio.h> #include <stdlib.h> int main() { int *p,n,i; printf("Enter array size:"); scanf("%d",&n); __________________; for(i=0;i <n;i++) { ____________; } for(i="0;i<n;i++)" _______________; free(p); return 0;> A、第8行: p=(int *)malloc(n*sizeof(int)); 第12行: *(p+i)=i*10 第16行: printf("array[%d]=%d\n",i,*(p+i))
B、第8行: p=(int *)(n*malloc(sizeof(int*))) 第12行: *p+i=i*10 第16行: printf("array[%d]=%d\n",i,*(p+i))
C、第8行: p=(int *)malloc(n*sizeof(int)); 第12行: *p+i=i*10 第16行: printf("array[i]=%d\n",i,*p+i)
D、第8行: p=(int)malloc(n*sizeof(int *)); 第12行: *(p+i)=i*10 第16行: printf("array[i]=%d\n",i,*(p+i))
A.调用malloc函数后将会返回一个指针类型的地址,该值可以直接赋值给特定的指针变量,无需强制类型转换。
B.如果希望在程序的运行期间改变数组的长度,则需要使用动态内存分配函数实现动态数组。
C.动态内存分配是指在程序运行时为变量分配内存的一种方法。
D.栈和堆都属于动态存储区。
下面程序的功能是通过动态分配内存函数malloc产生动态数组,程序的某次运行结果如下: Enter array size:8↙ array[0]=0 array[1]=10 array[2]=20 array[3]=30 array[4]=40 array[5]=50 array[6]=60 array[7]=70 为使程序完整并符合题目要求,应在空白处填写的内容是()。 #include <stdio.h> #include <stdlib.h> int main() { int *p,n,i; printf("Enter array size:"); scanf("%d",&n); (1) ; for(i=0;i <n;i++) (2) ; for(i="0;i<n;i++)" (3) free(p); return 0;> A、(1)p=(int)malloc(n*sizeof(int *)); (2)*(p+i)=i*10 (3)printf("array[i]=%d\n",i,*(p+i))
B、(1)p=(int *)(n*malloc(sizeof(int *))) (2)*p+i=i*10 (3)printf("array[%d]=%d\n",i,*(p+i))
C、(1)p=(int *)malloc(n*sizeof(int)); (2)*(p+i)=i*10 (3)printf("array[%d]=%d\n",i,*(p+i))
D、(1)p=(int *)malloc(n*sizeof(int)); (2)*p+i=i*10 (3)printf("array[i]=%d\n",i,*p+i)
A、只要程序中使用的malloc和free的数量是配对的,那么就不会出现内存泄漏问题。
B、内存泄漏属于非法内存访问错误,就是代码访问了不该访问的内存。
C、指针变量所占的内存被释放了,也就意味着它所指向的动态内存也会被自动释放。
D、出现内存泄露并不是一定会导致系统发生异常,因为实际中内存耗尽的情况非常罕见,内存泄露问题的严重程度取决于每次函数调用时遗留内存垃圾的多少和函数被调用的次数。
E、内存泄漏问题通常需要运行相当一段时间后才能发现。
F、C语言没有提供内存垃圾回收机制,因此需要程序调用free函数来释放不再需要的动态内存。
G、需长期稳定运行的服务程序,以及需要频繁对内存操作且消耗空间较大的程序,通常对内存泄漏比较敏感。
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!