快捷导航

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

动态申请内存,,当内存大小不确定时需要申请内存这是百度滴,是因为我没有申请内存么,可是为什么要申请内存呢,下面代码怀疑内存有问题,输出都是瞎输出,
#include
#define maxsize 30
struct sqlist
{
    int num[maxsize];
    int length;
};
struct sqlist* scan(struct sqlist* L,int n)
{
   
L->length=0;
    int i;
    for(i=0; ilength++;
        scanf("%d",&L->num);
      
    }


    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; ilength; i++)
    {
        printf("%d ",L2->num);
    }
}

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员1

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



这里不涉及申请内存的。
L 是 main 函数中的,p 也是指向它的。scan 函数通过指针 p 操作 L,返回的也是同一个指针。 最后 print 通过 q 指针把 L 中的内容打印出来。
这次length 设置了正确的值,所以应该能够正常运行的。
回复

使用道具 举报

可能感兴趣的问答

发新帖
TA的信息
  • 会员所属: 注册会员
  • 认证信息: 邮箱认证手机认证
  • 微信访问
  • 手机APP