zoukankan      html  css  js  c++  java
  • 1214.2——动态分配内存实战

    #include <stdio.h>
    #include <stdlib.h>

    typedef struct{
        char *name;
        int age;
    }Person;

    int main(int argc, const char * argv[]) {
        
        //定义一个结构体指针数组
        Person *array[5] = {};
        
        //从终端输入一个人的信息
        //为这个人分配内存空间
        Person *pxd = (Person *)malloc(1 * sizeof(Person));
        if (pxd == NULL) {
            //失败退出
            exit(EXIT_FAILURE);
        } else {
            //输入信息
            //1.name
            //为name指针指向的变量分配内存空间
            char *pName = (char *)malloc(10 * sizeof(char));
            if (pName == NULL) {
                //失败退出
                //首先释放结构体的内存
                free(pxd);
                
                //退出
                exit(EXIT_FAILURE);
            } else{
                //
                pxd->name = pName;
                
                printf("请输入姓名:");
                scanf("%s", pName);
            }
            
            printf("请输入年龄:");
            scanf("%d", &(pxd->age));
        }
        
        array[0] = pxd;
        
        //其他操作
        
        //输出
        printf("name:%s age:%d ", array[0]->name, array[0]->age);
        
        //释放内存
        free(pxd->name);
        free(pxd);
        return 0;
    }

  • 相关阅读:
    全局比对与动态规划
    汉诺塔游戏的递归解析
    scikit-learn 多分类混淆矩阵
    Python argparse 子命令
    优雅的查看json文件
    Python数据结构和算法学习笔记4
    Python学习笔记29
    Python学习笔记28
    Python数据结构和算法学习笔记3
    Python数据结构和算法学习笔记2
  • 原文地址:https://www.cnblogs.com/damonWq/p/5046602.html
Copyright © 2011-2022 走看看