| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 789 人关注过本帖
标题:帮看看指针在函数参数传递中遇到的问题
只看楼主 加入收藏
khaz
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:130
专家分:188
注 册:2011-4-21
结帖率:77.78%
收藏
已结贴  问题点数:20 回复次数:10 
帮看看指针在函数参数传递中遇到的问题
程序代码:
#include <stdio.h>
int fun(char *a,char **b)
{
        b=&a;
        return 0;
}
int main()
{
        char aa[4];
        char bb[4];
        memset(aa,0,sizeof(aa));
        memset(bb,0,sizeof(bb));

        printf("input\n");
        scanf("%s",aa);
        printf("aa=%s\n",aa);
        fun(aa,(char **)&bb);
        printf("bb=%s\n",bb);
}
input
45
aa=45
bb=

bb得不到结果,想得到输入的值。请大侠帮看下。一级指针和二级指针的方法都举个例子 谢谢
搜索更多相关主题的帖子: 函数 
2011-09-21 14:39
czsbc
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:469
专家分:1700
注 册:2008-12-13
收藏
得分:12 
程序代码:
#include <stdio.h>
#include <memory.h>
int fun(char *a,char **b)

 {
         *b=a;
         return 0;

 }

 int main()

 {
         char aa[4];
         char * bb;
         memset(aa,0,sizeof(aa));
       //  memset(bb,0,sizeof(bb));

         printf("input\n");
         scanf("%s",aa);
         printf("aa=%s\n",aa);
         fun(aa,(char **)&bb);
         printf("bb=%s\n",bb);

 }
收到的鲜花
  • lccwyj2011-09-21 14:50 送鲜花  5朵  
2011-09-21 14:46
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
#include <stdio.h>
#include <string.h>
int fun(char *a,char **b)
{
        *b=a;
        return 0;
}
int main()
{
        char aa[4];
        char *bb;

        memset(aa,0,sizeof(aa));

        printf("input\n");
        scanf("%s",aa);
        printf("aa=%s\n",aa);
        fun(aa,&bb);
        printf("bb=%s\n",bb);
        return 0;
}
乱改了一气。
收到的鲜花
  • lccwyj2011-09-21 14:50 送鲜花  5朵  

我们都在路上。。。。。
2011-09-21 14:47
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
改成和楼上的一样了。哈哈。

我们都在路上。。。。。
2011-09-21 14:48
khaz
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:130
专家分:188
注 册:2011-4-21
收藏
得分:0 
bb能不能用数组呢?不要用字符指针,如何实现
2011-09-21 23:31
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:8 
不能,数组是常指针,不允许修改

重剑无锋,大巧不工
2011-09-21 23:34
khaz
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:130
专家分:188
注 册:2011-4-21
收藏
得分:0 
回复 6楼 beyondyf
我相信可以通过修改函数实现的方式实现的,我看到很多函数都是这样用的啊
比如
int tpcall(char *svc, char *idata, long ilen, char **odata, long *olen, long flags)
这里odata就可以传一个数组名的地址(&revbuff)进去 用来接收结果,revbuff是char revbuff[xxx];
只是我不知道如何实现。


[ 本帖最后由 khaz 于 2011-9-21 23:44 编辑 ]
2011-09-21 23:39
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
哪个库函数那样用了?我也想看看。

重剑无锋,大巧不工
2011-09-21 23:43
khaz
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:130
专家分:188
注 册:2011-4-21
收藏
得分:0 
不好意思 记错了。
那个二级指针的地方是用char *的变量加地址符的。

[ 本帖最后由 khaz 于 2011-9-21 23:53 编辑 ]
2011-09-21 23:48
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
呵呵,修改数组指针和修改数组里的值是两码事。

重剑无锋,大巧不工
2011-09-21 23:57
快速回复:帮看看指针在函数参数传递中遇到的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026929 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved