搜索
编程论坛
→
开发语言
→
C++论坛
→
『 C++教室 』
→ 函数返回指针的问题?
标题:
函数返回指针的问题?
只看楼主
newyj
等 级:
新手上路
威 望:
3
帖 子:542
专家分:0
注 册:2008-1-4
楼主
问题点数:0 回复次数:7
函数返回指针的问题?
在书上看到的 函数 返回指针 没有看懂是什么意思 怎么使用
还请 举些 例子 说明 一下
谢谢了
搜索更多相关主题的帖子:
指针
函数
2008-02-28 21:43
sunkaidong
来 自:南京师范大学
等 级:
贵宾
威 望:
12
帖 子:4496
专家分:141
注 册:2006-12-28
第
2
楼
得分:0
#include"stdio.h"
int i=0;
int *p()
{
return &++::i;
}
void main(void )
{
printf("%d,%d\n",::i,*p());
*p()=10;
printf("%d",::i);
}
[[it] 本帖最后由 sunkaidong 于 2008-2-28 22:10 编辑 [/it]]
2008-02-28 22:04
newyj
等 级:
新手上路
威 望:
3
帖 子:542
专家分:0
注 册:2008-1-4
第
3
楼
得分:0
谢谢啊 是不是 返回指针 和 返回引用 时 *p()=10;引用函数都放在左边啊
不是 都放在右边吗
还有 就是 返回引用 和 返回指针的区别啊
2008-02-28 22:44
sunkaidong
来 自:南京师范大学
等 级:
贵宾
威 望:
12
帖 子:4496
专家分:141
注 册:2006-12-28
第
4
楼
得分:0
返回引用是对变量起别名,你返回的就是变量自己.返回指针就是返回的地址
#include"stdio.h"
int i=0;
int *p()
{
return &++::i;
}
int &p1()
{
return ::i;
}
void main(void )
{
printf("%d,%d\n",::i,*p());
*p()=10;
printf("%d,%d,%d",::i,&::i,p());
p1()=0;
printf("%d,%d,%d",::i,&::i,p1());
}
2008-02-28 22:59
sunkaidong
来 自:南京师范大学
等 级:
贵宾
威 望:
12
帖 子:4496
专家分:141
注 册:2006-12-28
第
5
楼
得分:0
你理解一下,但是要注意不管那一个都不能返回局部变量......
2008-02-28 23:00
newyj
等 级:
新手上路
威 望:
3
帖 子:542
专家分:0
注 册:2008-1-4
第
6
楼
得分:0
谢谢 楼上的 耐心 回答 是不是 引用 一般的函数 是把 函数 放在 等号的左边
只有引用 返回 引用和指针的 函数时 才把 函数 放在 等号的左边啊
还有就是 返回一般的值 与 返回 引用 和指针 有什么好处 或者是 有什么作用
什么是 不能返回局部变量啊
新手 不是 很懂 所以 还望见量 还请 耐心的指教啊 再 次 谢谢了
2008-02-29 11:28
sunkaidong
来 自:南京师范大学
等 级:
贵宾
威 望:
12
帖 子:4496
专家分:141
注 册:2006-12-28
第
7
楼
得分:0
不是的,我只是想告诉你区别,不用指针和引用返回的只是数值,你不能对他进行赋值操作.只有引用和指针的时候才是返回变量自己和地址,可以对返回值进行赋值.比如int * a();函数a(),返回类型是int *;那么在住程序中用a()其实就是返回一个地址,就是可以把a()当地址用,个人观点
2008-02-29 13:22
newyj
等 级:
新手上路
威 望:
3
帖 子:542
专家分:0
注 册:2008-1-4
第
8
楼
得分:0
还是要 谢谢了 好象 有点 意思了
还是 要琢磨琢磨 以后 还请指教啊
2008-02-29 13:46
8
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-201325-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.462351 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved