为了账号安全,请及时绑定邮箱和手机立即绑定

我们为什么要申请内存,今天写代码突然想到这个问题???

我们为什么要申请内存,今天写代码突然想到这个问题???

C
冯宝宝 2017-11-04 21:27:17
动态申请内存,,当内存大小不确定时需要申请内存这是百度滴,是因为我没有申请内存么,可是为什么要申请内存呢,下面代码怀疑内存有问题,输出都是瞎输出,#include<stdio.h>#define maxsize 30struct sqlist{    int num[maxsize];    int length;};struct sqlist* scan(struct sqlist* L,int n){    L->length=0;    int i;    for(i=0; i<n; i++)    {        L->length++;        scanf("%d",&L->num[i]);          }    return L;}int main(){    printf("请输入顺序表的长度:");    int n;    struct sqlist L;    struct sqlist *p,*q;    scanf("%d",&n);    p=&L;    q=scan(p,n);    print(q);}void print(struct sqlist* L2){    printf("顺序表为:\n");    int i;    for(i=0; i<L2->length; i++)    {        printf("%d ",L2->num[i]);    }}
查看完整描述

2 回答

?
onemoo

TA贡献883条经验 获得超454个赞

这个代码没有太大的问题吧。 你觉得运行时有什么异常吗?


这里不涉及申请内存的。

L 是 main 函数中的,p 也是指向它的。scan 函数通过指针 p 操作 L,返回的也是同一个指针。 最后 print 通过 q 指针把 L 中的内容打印出来。

这次 length 设置了正确的值,所以应该能够正常运行的。

查看完整回答
反对 回复 2017-11-07
  • 2 回答
  • 0 关注
  • 1238 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信