A: 都能在内存中分配一块连续区域
B: 两个函数的返回值都是一块区域的首地址
C: 两个函数对分配到的连续区域的初始化值相同
D: malloc(3*sizeof(int))与calloc(3,sizeof(int))的作用相同
举一反三
- 申请一个具有n个int型元素的一维动态数组,可以使用下面的哪条语句? A: p = (int *) malloc(n * sizeof(int)); B: p = (int *)calloc(n, sizeof(int)); C: p = (int *) malloc(n, sizeof(int)); D: p = (int *)calloc(n * sizeof(int)); E: int p[n]; F: p = (int *) realloc(n * sizeof(int));
- 申请一个具有n个int型元素的一维动态数组,可以使用下面的哪条语句? A: p = (int *) malloc(n * sizeof(int)); B: p = (int *) malloc(n, sizeof(int)); C: p = (int *)calloc(n * sizeof(int)); D: p = (int *) realloc(n * sizeof(int));
- 若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的动态分配语句是 。 A: p=2*(int*)malloc(sizeof(int)); B: p= (int*)malloc(2*sizeof( int)); C: p= (int*)malloc(2*sizeof ( unsigned int)); D: p= (int* )malloc(2,sizeof(int));
- 动态存储分配,可调用函数malloc(),如int *p;p=(int *)malloc(sizeof(p));
- malloc与calloc函数的区别是两个函数能够分配的内存空间大小是不同的。( )
内容
- 0
希望申请能存储10个整数的存储空间并将指针p指向申请空间的起始地址,能实现的语句是____________。( ) A: int *p; p=(int *)malloc(sizeof(int)*10); B: int *p; p=(int *)malloc(sizeof(int), C: int *p; p=(int *)calloc(sizeof(int)*10); 10); D: double *p; p=(int *)malloc(sizeof(int),10);
- 1
申请一个m行n列的整型的二维动态数组,可以使用下面的哪条语句? A: p = (int *) malloc(m*n*sizeof(int)); B: p = (int *)calloc(m*n, sizeof(int)); C: p = (int *) malloc(m*n, sizeof(int)); D: p = (int *)calloc(m * n * sizeof(int)); E: int p[m][n]; F: p = (int *) realloc(m * n * sizeof(int));
- 2
关于malloc和calloc解释正确的是: A: 都可以分配空间 B: 形参个数不同,malloc一个参数,calloc两个参数 C: 初始化内容不同,malloc随机,calloc赋0 D: 其他都不对
- 3
已有定义语句 int *p; 以下能动态分配一个整型存储单元,并把该单元的首地址正确赋值给指针变量p的语句是( ) A: p= malloc(sizeof(int)); B: p=*malloc(sizeof(int)); C: p=(int*)malloc(sizeof(int)); D: *p=(int*)malloc(sizeof(int));
- 4
由malloc()函数分配的内存块可以是不连续的