| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 744 人关注过本帖
标题:[求助]关于指针的指针
只看楼主 加入收藏
ichigo
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2007-5-27
收藏
 问题点数:0 回复次数:9 
[求助]关于指针的指针
看书看到指针的指针这里了
就是
char c = 'A';
char * cp = &c;
char ** cpp = &cp;

原来的书里没有介绍过这个,但是也可以理解
所以突然想问个问题
既然可以用指针的指针,改变指向指针的指针来调用指针指向的数据
那可以不可以用改变地址的地址来调用存储相应内存地址的数据呢?
就是
char ** cpp = &&c;

这样可以吗
新手问的问题比较弱,请误见怪

[此贴子已经被作者于2007-6-13 9:50:27编辑过]

搜索更多相关主题的帖子: 指针 内存 char cpp 
2007-06-13 09:49
HJin
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:401
专家分:0
注 册:2007-6-9
收藏
得分:0 

no, it is not allowed.

[CODE]#include <stdio.h>
#include <stdlib.h>
int main(int argc, char** argv)
{
char c = 'A';
char * cp = &c;
char ** cpp = &cp;
char** cpp2 = &(&c); // error C2102: '&' requires l-value
return 0;
}[/CODE]

Here c is an l-value, &c is a r-value. So that &(&c) is bad.


========================

An l-value is a value that can appear at the left hand side of the asignment (=) operator.

int x;

x = 5 // x is an l-value;

5 = 6 // wrong, 5 is not an l-value. 5 is an r-value, though.

A r-value must be an l-value.

[此贴子已经被作者于2007-6-13 12:46:16编辑过]


I am working on a system which has no Chinese input. Please don\'t blame me for typing English.
2007-06-13 12:44
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 

指针是个变量.
int c=0,*p1=&c,*p2=p1;
p1,p2的值就是c的地址,但是(&c)不是左值,只有左值才能取地址和被赋值。。。
而且想想看p1,p2两个变量的地址也不相同,你&&c无非就是想要得到指向c的指针的地址,那么你认为这可能吗?会是&p1,&p2还可能有更多。。。


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2007-06-13 13:02
doom5211
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2007-6-7
收藏
得分:0 
斑竹说的对,上面p1,p2都是指向变量C,而且肯定两个指针地址不一样,所以&&c得到的到底是p1的地址还是p2的地址呢?所以说是不行的.
的确指针是个很复杂的东西,经常容易让思维绕在一起打结,像我这样的菜鸟就怕指针.特别是多重指针.

2007-06-13 19:52
I喜欢c
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:64
帖 子:1749
专家分:0
注 册:2007-3-2
收藏
得分:0 
2楼是老外?

..
幸好基本能看懂..

 我是指针,却丢失了目标地址!          我是循环,却缺少了结束条件!      我是函数,却没有人来调用!   
2007-06-13 22:34
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
A r-value must be an l-value

貌似反了

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2007-06-13 22:50
孤魂居士
Rank: 2
来 自:老A(中国地大)
等 级:论坛游民
威 望:4
帖 子:1142
专家分:18
注 册:2007-5-21
收藏
得分:0 

2楼老外兄 你能不能教下我的英语啊?我的英语一塌糊涂

准备用3年做个高级软件工程师 10年也做不成。准备用10年做成高级软件工程师 3年就成了QQ 群 45771086
欢迎版主...欢迎JAVA爱好者...
一起从深夜 到凌晨...
2007-06-13 23:24
ichigo
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2007-5-27
收藏
得分:0 
以下是引用孤魂居士在2007-6-13 23:24:31的发言:

2楼老外兄 你能不能教下我的英语啊?我的英语一塌糊涂

2007-06-13 23:56
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
以下是引用wfpb在2007-6-13 22:50:22的发言:
A r-value must be an l-value

貌似反了

An l-value must be a r-value

[此贴子已经被作者于2007-6-14 14:11:54编辑过]


Fight  to win  or  die...
2007-06-14 12:43
yuyunliuhen
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1435
专家分:0
注 册:2005-12-12
收藏
得分:0 
I think he just made a clerical error,but his way is good,and we can learn something from it.   o(∩_∩)o

Go confidently in the  directions of your dreams,live the life you have imagined!Just do it!
It is no use learning without thinking!
2007-06-14 14:14
快速回复:[求助]关于指针的指针
数据加载中...
 
   



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

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