二级指针动态数组,模拟指针数组

二级指针动态数组,模拟指针数组

创建二级指针动态数组,模拟指针数组。里面存放键盘输入的字符串,回车键确定输入,-1为退出条件。

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

int main(void)
{
    char **p = NULL;
    char **prev = NULL;
    int count = 0;
    char buf[1024] = {
   0};
    int i;
    int val;

    while (1) {
        printf("input string\n");
        scanf("%s", buf);

        if (!strncmp("-1",buf, 2))
            break;

        prev = p;
        p = (char **)malloc((count + 1) *sizeof(char *));
        if (NULL == p) {
            free(prev);
            val = -1;
            goto err1;
        }
        memcpy(p, prev, count * sizeof(char *));
        free(prev);

        p[count] = (char *)malloc(strlen(buf) + 1);
        if (NULL == p[count]) {
            val = -1;
            goto err2;
        }

        memcpy(p[count], buf, strlen(buf) + 1);

        count++;
    }
    val = 0;
    for(i = 0; i < count; i++)
        printf("p[%d] =  %s\n", i, p[i]);

err2:
    free(p);

err1:    
    for(i = 0; i < count; i++)
        free(p[i]);

    return val;
}

转载于:https://www.cnblogs.com/zu-ji/archive/2012/07/03/2574794.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110375.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • css经典布局——双飞翼布局

    圣杯布局的出现是来自由MatthewLevine在2006年写的一篇文章《InSearchoftheHolyGrail》,在国内最早是淘宝UED的工程师(玉伯大大)对圣杯布局改进并传播开来,在中国的叫法是双飞翼布局。圣杯布局和双飞翼布局达到的效果基本相同,都是侧边两栏宽度固定,中间栏宽度自适应。主要的不同之处就是在解决中间部分…

    2022年4月5日
    66
  • AC 自动机_模式匹配自动机

    AC 自动机_模式匹配自动机学习AC自动机的前提是要会trie数和KMP字符串匹配,它的功能是能对好多个模式串进行同时查找。比如对4个模式串:hehershisshe在一条母串中:shejjjjj查找每个模式串出现的次数.我们知道KMP算法有个next数组,和KMP类似,AC自动机有一个fail指针数组,用来对整棵trie树进行滚动。AC 自动机:HUD 3065:#i

    2025年6月30日
    4
  • cJSON的使用方法

    cJSON的使用方法首先,要介绍一下什么是json格式。一.JSON格式简述JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript(StandardECMA-2623rdEdition-December1999)的一个子集。JSON采用完全独立于语言的文本格式,但

    2022年6月29日
    45
  • pycharm2021.11.3激活码永久_最新在线免费激活

    (pycharm2021.11.3激活码永久)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html23LNPMIJZT-eyJsaWNlbnNlSWQi…

    2022年3月29日
    76
  • 从零开始学android编程之Toast提示信息框「建议收藏」

    从零开始学android编程之Toast提示信息框「建议收藏」Toast类可以在程序界面上显示一个简单的提示信息,这个提示信息框用于向用户生成简单的提示信息。1创建包含信息的提示框通过Toast类的静态方法makeText()创建信息提示框,该提示框中包含了指定的信息。该方法的格式为publicstaticToastmakeText(Contextcontext,CharSequencetext,intduration);其

    2022年6月10日
    56
  • 纯HTML个人简历模板代码

    纯HTML个人简历模板代码<html><bodybackground=http://p1.so.qhmsg.com/t01ed5a885549b6bf3b.jpg><tableborder=”1″align=”center”cellpadding=”10″width=”800″><tr><thcolspan=”7″bgcolor=”B…

    2022年9月7日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号