我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: 一个指针传递的问题,烦恼N久了。。。 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

ljpdxj



性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 687
威望: 0
浮云: 1108
在线等级:
注册时间: 2006-02-28
最后登陆: 2008-06-29

5come5帮你背单词 [ him /him/ pron. 他 ]


一个指针传递的问题,烦恼N久了。。。

定义一个单链表并初始化
main()中调用节点初始化子函数fun(node **P)实现头结点的初始化.
不明白为什么这里要2级指针传递?!
一级指针不行么?

Quote:


#typedef struct
{
    int date;
    note *next;
}note;

int mian()
{
    note *P;
    fun(&p);
    ......
}

note * fun(note *p)
{
    p=(note*)malloc(sizeof(note));
    ......
}


以前的学的东西都搞忘记了。。。
是不是因为指针传递也是传拷贝?应该是这样哈?!!
所以第二个函数应该写为:


Quote:

note * fun(note  * *p)
{
  * p=(note*)malloc(sizeof(note));
    ......
}
顶端 Posted: 2007-11-10 21:12 | [楼 主]
稀饭包子泡菜



性别: 帅哥 状态: 该用户目前不在线
等级: 鹤立鸡群
发贴: 1309
威望: 0
浮云: 1106
在线等级:
注册时间: 2006-03-07
最后登陆: 2010-03-14

5come5帮你背单词 [ zebra /'zi:brə/ n. 斑马,人行道 ]


所有都是值拷贝
顶端 Posted: 2007-11-10 21:19 | [1 楼]
ljpdxj



性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 687
威望: 0
浮云: 1108
在线等级:
注册时间: 2006-02-28
最后登陆: 2008-06-29

5come5帮你背单词 [ unfold /Λn'fəuld/ a. 不合适的,不能胜任的 ]


Quote:
引用第1楼稀饭包子泡菜于2007-11-10 21:19发表的  :
所有都是值拷贝

&是传地址吧?呵呵~
顶端 Posted: 2007-11-10 21:20 | [2 楼]
稀饭包子泡菜



性别: 帅哥 状态: 该用户目前不在线
等级: 鹤立鸡群
发贴: 1309
威望: 0
浮云: 1106
在线等级:
注册时间: 2006-03-07
最后登陆: 2010-03-14

5come5帮你背单词 [ everyday /'evridei/ a. 每天的,日常的 ]


传递的都是值,形参和实参值相同
在函数里为指针重新分配空间是无法带回的
顶端 Posted: 2007-11-10 21:22 | [3 楼]
yinx



性别: 帅哥 状态: 该用户目前不在线
等级: 人见人爱
家族: 丢丢
发贴: 2333
威望: 0
浮云: 1260
在线等级:
注册时间: 2006-09-15
最后登陆: 2009-05-11

5come5帮你背单词 [ soul /səul/ n. 心灵,灵魂,人,精华,中心人物 ]


觉得5C5最近一下子冒出好多高手来啊~
顶端 Posted: 2007-11-10 21:26 | [4 楼]
zhd32



性别: 帅哥 状态: 该用户目前不在线
等级: 版主
家族: YD一族
发贴: 619
威望: 0
浮云: 543
在线等级:
注册时间: 2006-04-22
最后登陆: 2009-06-22

5come5帮你背单词 [ quart /'kwo:t/ n. 夸脱(英美干量、液量单位) ]


LZ这样是对的
Copy code
note * fun(note  * *p)
{
  * p=(note*)malloc(sizeof(note));
    ......
}

但是要注意手动把 malloc的内存free掉
顶端 Posted: 2007-11-10 21:32 | [5 楼]
k哥



性别: 帅哥 状态: 该用户目前不在线
等级: 鹤立鸡群
家族: 物电学子快快快
发贴: 1109
威望: 0
浮云: 1109
在线等级:
注册时间: 2007-09-07
最后登陆: 2010-09-21

5come5帮你背单词 [ contest /kən'test, 'kontest/ n. 竞争,比赛;v. 竞争,比赛,争论,争辩 ]


Quote:
引用第3楼稀饭包子泡菜于2007-11-10 21:22发表的  :
传递的都是值,形参和实参值相同
在函数里为指针重新分配空间是无法带回的

在函数里动态生成的空间的是可以带回他的地址的
不过用单指针传递,在函数中对其赋值不能带回到主函数;而且在函数中不及时释放动态生成的空间的话,会出错,甚至会使程序直接 希白。。。
而用双指针传递,在函数中对其赋值可以带回主函数
顶端 Posted: 2007-11-10 22:57 | [6 楼]
abcd0106





性别: 帅哥 状态: 该用户目前不在线
等级: 鹤立鸡群
发贴: 1093
威望: 0
浮云: 1049
在线等级:
注册时间: 2005-10-08
最后登陆: 2009-04-04

5come5帮你背单词 [ stratum /'streitəm/ n. 地层 ]


Quote:
引用第4楼yinx于2007-11-10 21:26发表的  :
觉得5C5最近一下子冒出好多高手来啊~


就是啊
顶端 Posted: 2007-11-12 11:41 | [7 楼]
不会游泳的鱼



性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 514
威望: 0
浮云: 1117
在线等级:
注册时间: 2007-08-29
最后登陆: 2008-06-07

5come5帮你背单词 [ sculpture /'skΛlptə/ n. 雕塑 ]


  要将指针的地址传过去.
顶端 Posted: 2007-11-12 11:46 | [8 楼]
我来我网·5come5 Forum » 程序员之家

Total 0.009386(s) query 5, Time now is:11-22 22:00, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号