指针数组来指向堆区空间实例

来源:互联网 发布:云锁安全软件 编辑:程序博客网 时间:2024/06/14 10:55
学员姓名,动态分配内存,存入他们的姓名,并在最后输出;
    //(1.)从控制台输入的字符串如何存储,/*定义数组接收*/(2)如何动态计算学员姓名个数并开辟空间/*计算字符串长度+1*/(3),如何存储为三个学员姓名开辟空间之后的地址; /*使用指针数组来存储地址,数组中有三个元素*/
    char tempStr[20] = {0};//定义字符数组,用来存储字符串
    char *names[3] = {0};
    for (int i = 0; i < 3; i++) {
        printf("\n请输入学员姓名:\n");
        scanf("%s",tempStr);
        names[i] =  malloc(sizeof(tempStr)+1);
        strcpy(names[i], tempStr);
        
        
    }
    
    for (int i = 0; i < 3; i ++ ) {
        printf(" %s ", names[i]);
        free(names[i]);
        names[i]=NULL;
    }

0 0
原创粉丝点击