Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1096767
  • 博文数量: 252
  • 博客积分: 4561
  • 博客等级: 上校
  • 技术积分: 2833
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-15 08:23
文章分类

全部博文(252)

文章存档

2015年(2)

2014年(1)

2013年(1)

2012年(16)

2011年(42)

2010年(67)

2009年(87)

2008年(36)

分类: C/C++

2011-11-04 08:40:58

#include
#include
#include

#define err(msg) perror(msg)

static int test_pvoid(void)
{
        void *pvoid;
        int i;
        char **ppchar;

        if ((pvoid = calloc(3, sizeof(char *))) == NULL) {
                err("calloc");
                goto out;
        }

        ppchar = pvoid;
        for (i = 0; i < 3; i++) {
                if ((ppchar[i] = calloc(10, sizeof(char))) == NULL) {
                        err("calloc");
                        goto err;
                }

        }

        strncpy(ppchar[0], "aaaaa", 5);
        strncpy(ppchar[1], "bbbbb", 5);
        strncpy(ppchar[2], "ccccc", 5);

        for (i = 0; i < 3; i++)
                printf("%s\n", ppchar[i]);

        for (i = 0; i < 3; i++)
                free(ppchar[i]);
        free(pvoid);

        return 0;
err:
        free(pvoid);
out:
        return -1;
}

int main(void)
{
        test_pvoid();

        return 0;
}
阅读(980) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~