免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2712 | 回复: 6
打印 上一主题 下一主题

快看啊,多层指针传递问题!!!!!!!!!!!!!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-09-07 17:54 |显示全部楼层 |倒序浏览
#include <stdio.h>;

void fun(char  **p)
{
        int i,j;
       
        p=(char **)malloc(sizeof(char *)*4);       
               
               
                for(i=0;i<4;i++)
                p=(char *)malloc(sizeof(char)*40);
               
               

        strcpy(p[0],"test1";
        strcpy(p[1],"test2";
        strcpy(p[2],"test3";
        strcpy(p[3],"test4";
        for(i=0;i<4;i++)
                printf("p[%d] is [%s]\n",i,p);
               
       
       
}

void main()
{
        char **pp;
        int i;
       
        fun(pp);
        for(i=0;i<4;i++)
                printf("pp[%d] is [%s]\n",i,pp);
               
       
       
}

为什么pp打印的值是null。。

谢谢!!!!

论坛徽章:
0
2 [报告]
发表于 2004-09-07 18:36 |显示全部楼层

快看啊,多层指针传递问题!!!!!!!!!!!!!!

能说明白一些吗?
帮忙修改一下

论坛徽章:
0
3 [报告]
发表于 2004-09-07 20:17 |显示全部楼层

快看啊,多层指针传递问题!!!!!!!!!!!!!!

返回值的方法我知道了
但是通过参数的方法就是不行

另外
char **p;

char s[7][80];

p=str;

这样复制怎么不行啊

论坛徽章:
0
4 [报告]
发表于 2004-09-08 13:51 |显示全部楼层

快看啊,多层指针传递问题!!!!!!!!!!!!!!

char **p;

char s[7][80];

p=str;

这样复制怎么不行啊!!!!!!!!!!!!!!!

论坛徽章:
0
5 [报告]
发表于 2004-09-08 14:03 |显示全部楼层

快看啊,多层指针传递问题!!!!!!!!!!!!!!

多谢zjqyb的启发
我的程序问题解决了。
#include <stdio.h>;
void fun(char ***p)
{
int i,j;

*p=(char **)malloc(sizeof(char *)*4);

for(i=0;i<4;i++)
(*p)=(char *)malloc(sizeof(char)*40);
strcpy((*p)[0],"test1";
strcpy((*p)[1],"test2";
strcpy((*p)[2],"test3";
strcpy((*p)[3],"test4";
for(i=0;i<4;i++)
printf("p[%d] is [%s]\n",i,(*p));
}

void main()
{
char ***pp;
int i;
fun(pp);

for(i=0;i<4;i++)
printf("pp[%d] is [%s]\n",i,(*pp));
}

论坛徽章:
0
6 [报告]
发表于 2004-09-08 15:39 |显示全部楼层

快看啊,多层指针传递问题!!!!!!!!!!!!!!

还忘了释放内存了
不知道释放内存的顺序是怎样的。
从外向里释放

论坛徽章:
0
7 [报告]
发表于 2004-09-08 16:37 |显示全部楼层

快看啊,多层指针传递问题!!!!!!!!!!!!!!

char **p;

char s[7][80];

p=str;

这样复制怎么不行啊!!!!!!!!!!!!!!!

对于
int fun(char **p)

main()
{
    char s[3][4];

     fun(s)
....
}
也不行啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP