| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2002 人关注过本帖
标题:赋值表达式中不同数据类型相互赋值的问题
只看楼主 加入收藏
029
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2005-8-26
收藏
 问题点数:0 回复次数:8 
赋值表达式中不同数据类型相互赋值的问题
为什么这个编译能通过的啊
int main(int argc, char* argv[])
{
char **p=0;
char **q=p;
return 0;
}
而这个就不行啊
int main(int argc, char* argv[])
{
char **p=1;
char **q=p;
return 0;
}

[此贴子已经被knocker于2005-12-11 12:48:24编辑过]

搜索更多相关主题的帖子: 赋值 类型 数据 表达 
2005-12-11 12:14
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
int main(int argc, char* argv[])
{
char **p=(char **)1;// 0是一个特殊的值,即为NULL
char **q=p;
return 0;
}

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2005-12-11 12:21
layabout
Rank: 1
等 级:新手上路
帖 子:180
专家分:0
注 册:2005-12-2
收藏
得分:0 
还是不懂,班主说什么呢??

char **p=1;

是不是等于char **p;p=1;啊??

学习不难!难的是一辈子兢兢业业,老老实实,勤勤恳恳的学习!!!
2005-12-11 12:33
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
是的,这只是一个赋值表达式中数据类型不对称的问题,只要强制转换就可以了。


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2005-12-11 12:42
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
int main(int argc, char* argv[])
{
char *p=0;
int i=p;
return 0;
}

与这个的错是一样的道理

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2005-12-11 12:45
layabout
Rank: 1
等 级:新手上路
帖 子:180
专家分:0
注 册:2005-12-2
收藏
得分:0 
int i=int(p);

p是一个地址;难道不可以是int 类型吗??

学习不难!难的是一辈子兢兢业业,老老实实,勤勤恳恳的学习!!!
2005-12-11 12:52
layabout
Rank: 1
等 级:新手上路
帖 子:180
专家分:0
注 册:2005-12-2
收藏
得分:0 
有点明白了,p其实是有直的,

可能是123456,435566........

只能把地址给p

学习不难!难的是一辈子兢兢业业,老老实实,勤勤恳恳的学习!!!
2005-12-11 13:01
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
以下是引用layabout在2005-12-11 12:52:00的发言:
int i=int(p);

p是一个地址;难道不可以是int 类型吗??

p的确是个int 数值,其实,任意型式的数据在内存中都以0,1表述。

同样的内存单元

1111111111111111 如果定义为int型,它是表示多少?

如果定义为unsigned int 它又是表示多少?

如果定义为float它又是表示多少?

。。。。。。。

理解上面的这个问题有助你理解本问题为什么要强制转化的原因。


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2005-12-11 13:02
layabout
Rank: 1
等 级:新手上路
帖 子:180
专家分:0
注 册:2005-12-2
收藏
得分:0 
16个1 int 型是-32768

unsigned int 是65535

float 是不知道.......

学习不难!难的是一辈子兢兢业业,老老实实,勤勤恳恳的学习!!!
2005-12-11 13:23
快速回复:赋值表达式中不同数据类型相互赋值的问题
数据加载中...
 
   



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

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