请考虑以下代码:
#include < stdio.h >
#include < stdlib.h >
#define SIZE 10
int main() {
int * p, i;
p = malloc(SIZE * sizeof(int));
if (p == NULL) {
printf("malloc failed.\n");
return 1;
}
for (i = 0; i < SIZE; i++)
* (p + i) = i * i;
for (i = 0; i < SIZE; i++)
printf("%d\n", * p++);
free(p);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
此代码不起作用.但是我不确定为什么.我的教授给出了一个对我来说没什么意义的解释.据说这个free
功能不起作用.
据我所知,你只能释放使用malloc创建的指针.在这里我们在将指针发送到空闲之前修改它,从而使我们的声明无效.
这是批评该代码的正确方法吗?
以下命令应该创建一个新数据库。
导轨数据库:创建
这个函数在哪里定义的?或者这是 Rails 中预先打包好的函数?