A、 系统对使用动态内存分配函数malloc()申请的存储空间自动初始化为0
B、 向系统动态申请的内存使用结束后,应使用free()函数进行内存释放
C、 函数realloc()用于改变原来分配的存储空间的大小
D、 void *型指针不指定其指向哪一种类型,可指向任意类型的变量,是一种generic或typeless类型的指针,使用时需强制转换(type*)为其他类型
答案:A
A、 系统对使用动态内存分配函数malloc()申请的存储空间自动初始化为0
B、 向系统动态申请的内存使用结束后,应使用free()函数进行内存释放
C、 函数realloc()用于改变原来分配的存储空间的大小
D、 void *型指针不指定其指向哪一种类型,可指向任意类型的变量,是一种generic或typeless类型的指针,使用时需强制转换(type*)为其他类型
答案:A
A. 动态内存分配是指在程序运行时为变量分配内存的一种方法
B. 栈和堆都属于动态存储区
C. 如果希望在程序的运行期间改变数组的长度,则需要使用动态内存分配函数实现动态数组
D. 调用malloc函数后将会返回一个指针类型的地址,该值可以直接赋值给特定的指针变量,无需强制类型转换
A. 18
B. 20
C. 9
D. 10
A. strlen(string)小于sizeof(string)
B. strlen(string)等于sizeof(string)
C. strlen(string)大于sizeof(string)
D. 以上皆非
A. switch(x%2) {case 0: a++; break;case 1: b++; break;default: a++; b++;}
B. switch((int)x%2 ) {case 0: a++; break;case 1: b++; break;default: a++; b++;}
C. switch(x%2) {case 0: a++; break;case 1.0: b++; break;default: a++; b++;}
D. switch((int)x%2.0) {case 0: a++; break;case 1: b++; break;default: a++; b++;}
A. int a[3*5];
B. int A[] = {1, 2, 3};
C. int a[5];
D. int a[3-5];
A. i = 32767;do {if(i < 0)break;} while(++i);
B. for(i = 1; ; ) {if(i++ % 2 == 0)continue;if(i++ % 3 == 0)break;}
C. for(i = 1; ; )if(++i < 10)continue;
D. int k = 0;i = 1;while(i--);
A. 不能通过编译
B. i不会被初始化,而j是6
C. i和j的初始值都是6
D. i被初始化为0,而j是6
A. fprintf("%d", x);
B. fprintf(fp, "%d", x);
C. fprintf("%d", x, fp);
D. fprintf("out.dat", "%d", x);
A. 3
B. 2
C. 5
D. 4