申请一个具有n个int型元素的一维动态数组,可以使用下面的哪条语句?
A. p = (int *) malloc(n * sizeof(int));
B. p = (int *) malloc(n, sizeof(int));
C. int p[n];
查看答案
下列说法错误的是
A. 用return语句既可以从函数返回调用动态内存分配函数动态申请的内存的地址,也可以从函数返回在函数内定义的局部变量的地址。
B. 对于用动态内存分配函数申请的内存,如果在使用结束后不释放的话,会发生内存泄漏。
C. 对于用动态内存分配函数申请的内存,如果在释放以后还继续使用的话,那么会产生非法内存访问的错误。
D. 计算动态分配内存的字节数的时候,应该始终使用sizeof运算符,因为某些类型在不同的系统下所占内存空间的字节数是不同的。
下面说法错误的是
A. 如果希望在程序的运行期间改变数组的长度,则需要使用动态内存分配函数实现动态数组。
B. 动态内存分配是指在程序运行时为变量分配内存的一种方法。
C. 调用malloc函数后将会返回一个指针类型的地址,该值可以直接赋值给特定的指针变量,无需强制类型转换。
D. 内存泄漏问题通常需要运行相当一段时间后才能发现。
申请一个m行n列的整型的二维动态数组,可以使用下面的哪条语句?
A. p = (int *) malloc(m*n*sizeof(int));
B. p = (int *) malloc(m*n, sizeof(int));
C. int p[m][n];
以下程序的输出结果是_____________________int fun(char s[]) { int n=0; while(*s<='9'&&*s>='0') {n=10*n+*s-'0';s++;} return(n); } int main() { char s[10]={'1','3','4','*','2','9','*','0','*'}; printf("%d\n",fun(s)); return 0;}