怎么做
- 题面里的虚线方框就是要填的空
- 点候选项,它会填进当前高亮的那个空
- 点已填好的空,可以把选项取回来重选
- 全部填满后「提交」才会亮起
卡住了就点右下角的 👩🏫 问 AI 老师,她会给提示但不直接给答案。
向系统借一块内存:malloc 与 free
malloc 向系统借一块,free 还回去
堆
▲ p
p = malloc(…):借到 3 格,p 记着开头
free(p) 之后:块已归还,p 还记着旧地址(悬空)
数组的大小要在写程序时定死。如果要等运行时才知道要多少,就向系统借:
- 先
#include <stdlib.h>; p = (int *)malloc(n * sizeof(int));:借能放 n 个 int 的一块内存,返回这块的首地址;借不到返回NULL,所以要判断;- 借到以后
p[i]、*(p + i)和数组用法一样; - 用完
free(p);还回去。借了不还叫内存泄漏。
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int n = 4, i, sum = 0;
int *p;
p = (int *)malloc(【0】);
if (p == NULL)
return 1;
for (i = 0; i < n; i++)
p[i] = (i + 1) * 10;
for (i = 0; i < n; i++)
sum += *(p + i);
printf("%d\n", sum);
【1】;
return 0;
}
【0】处借够 n 个 int;【1】处归还;程序输出【2】。
请登录后作答。
去登录
👩🏫
AI
💬 题目评论
🔒
登录并作答后可看讨论