| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1482 人关注过本帖
标题:谁能深入详细的讲下 返回指针的函数
只看楼主 加入收藏
雪花神剑
Rank: 2
来 自:吉林
等 级:论坛游民
帖 子:579
专家分:47
注 册:2009-3-12
结帖率:94.74%
收藏
已结贴  问题点数:20 回复次数:15 
谁能深入详细的讲下 返回指针的函数
谁能深入详细的讲下  返回指针的函数
或这方面的书
搜索更多相关主题的帖子: 指针 函数 
2009-09-16 10:02
雪花神剑
Rank: 2
来 自:吉林
等 级:论坛游民
帖 子:579
专家分:47
注 册:2009-3-12
收藏
得分:0 
C语言里的破指针,气死我了。
2009-09-16 10:52
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:3 
程序代码:
int * func()
{
    int *array=(int *) malloc(sizeof(int) * N);
    return array;
}


就这么简单。
2009-09-16 11:10
雪花神剑
Rank: 2
来 自:吉林
等 级:论坛游民
帖 子:579
专家分:47
注 册:2009-3-12
收藏
得分:0 
回复 3楼 Devil_W
如果是  传递两个链表的头节点指针,  在函数中处理,   然后把结果存到第三个链表,  要返回这个链表怎么做呢?
2009-09-16 12:32
shuijiashui8
Rank: 2
等 级:论坛游民
帖 子:21
专家分:44
注 册:2009-9-15
收藏
得分:3 
回复 2楼 雪花神剑
你把指针当做是存放数据的仓库就可以啦
2009-09-16 12:53
shuijiashui8
Rank: 2
等 级:论坛游民
帖 子:21
专家分:44
注 册:2009-9-15
收藏
得分:0 
回复 4楼 雪花神剑
listnode * link(void)
2009-09-16 12:55
雪花神剑
Rank: 2
来 自:吉林
等 级:论坛游民
帖 子:579
专家分:47
注 册:2009-3-12
收藏
得分:0 
我要是这样呢?

link * connect(link * head1,link *head2)
2009-09-16 13:08
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:0 
程序代码:
#include<stdio.h>          
#include<malloc.h>         
typedef struct Node{       
    int key;               
    struct Node *next;     
}Node;                     
Node * Combine(Node * head1,Node * head2)
{                                        
    Node *p=(Node *)malloc(sizeof(Node));
    Node *q=(Node *)malloc(sizeof(Node));
    p=head1;                             
    if( p ==NULL)                        
        return head2;                    
    while( NULL != p)                    
    {                                    
        q=p;                             
        p=p->next;                       
    }                                    
    q->next=head2->next;                 
    return head1;                        
}                                        
void show( Node *head)                   
{                                        
    Node *q=head->next;                  
    while(q!=NULL)                       
    {                                    
        printf("%d ",q->key);            
        q=q->next;                       
    }                                    
}                                        
int main()                               
{                                        
    Node * head1=(Node *)malloc(sizeof(Node));
    Node * head2=(Node *)malloc(sizeof(Node));
    Node *p=head1;                            
    int i;                                    
    for(i=1;i<5;i++)                          
    {                                         
        Node *q=(Node *) malloc(sizeof( Node));
        q->key=i;                              
        q->next=NULL;                          
        p->next=q;
        p=p->next;
    }
    show(head1);
    printf("\n");
    p=head2;
    for(i=3;i<=4;i++)
    {
        Node *q=(Node *) malloc(sizeof(Node));
        q->key=i;
        q->next=NULL;
        p->next=q;
        p=p->next;
    }
    show(head2);
    printf("\n");
    Node *head=Combine(head1,head2);
    show(head);
    printf("\n");
    return 0;
}
2009-09-16 13:10
雪花神剑
Rank: 2
来 自:吉林
等 级:论坛游民
帖 子:579
专家分:47
注 册:2009-3-12
收藏
得分:0 
回复 8楼 Devil_W
很好,

如果我要是在函数里创建一个  新链表  再返回的话,要怎么做呢?   link *connect(link *head1,link *head2,..........)  

你的之所以能返回是  相当于对原来传递进去的一个链表处理过   (我就特郁闷,这种情况下为什么能返回,而若新创建一个链表的话,为什么返回不了)
2009-09-16 13:19
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:0 
你帮我加点分,我就给你写了。
2009-09-16 14:18
快速回复:谁能深入详细的讲下 返回指针的函数
数据加载中...
 
   



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

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