美文网首页
动态分配内存及跨函数使用内存

动态分配内存及跨函数使用内存

作者: 小李同学今天博学了吗 | 来源:发表于2019-10-06 15:52 被阅读0次

一、动态内存分配

1.申请内存

```

int main(void){

int len;

printf("请输入你需要分配的数组的长度:len = ");

scanf("%d",&len);

```

int * pArr = (int *)malloc(sizeof(int) * len);(注:此处是向操作系统请求内存空间,由于我们需要的数组为int 类型的,所以sizeof(int)为int,如果我们输入的len为5,即向操作系统申请20个字节的空间,之后返回第一个内存的编号,我们需要强制类型转换,将返回来的空间标记为int类型的,这时系统就知道我们的输入类型了)

2.释放内存

free(pArr);

  return 0;

}

二、跨函数使用内存

# include<stdio.h>

# include<stdilb.h>

struct Student{

    int  number;

    int age;

};

struct Student * createStudent();

void ShowStudent(struct Student * ps);

int main(void){

       struct Student *ps;

        ps = createStudent();

        ShowStudent(ps);

    return 0;

}

struct Student* createStudent(){

    struct Student* ps = (struct Student)malloc(sizeof(struct Student));

    ps->number = 12;

    ps->age = 23;

    return ps;

}

void  ShowStudent(struct Student *ps){

    printf("%d   %d\n",ps->number,ps->age);

}

相关文章

网友评论

      本文标题:动态分配内存及跨函数使用内存

      本文链接:https://www.haomeiwen.com/subject/esmupctx.html