| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 350 人关注过本帖
标题:请教关于下面的指针和数组的问题
只看楼主 加入收藏
heaventian
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-3-26
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:6 
请教关于下面的指针和数组的问题
putw(int i,FILE *fp)
{
    char *s;
    s=&i;
    putc(s[0],fp);
    putc(s[1],fp);
    return(i)
}
上面这个函数里面,s被定义为指向字符的指针变量。
但是后来怎么s又变成一个数组了?
另外,
s=char * &i;
和s=(char * )&i;
是否是同一个意思?
希望大家帮忙解答下,不胜感谢!
搜索更多相关主题的帖子: return 
2011-03-18 17:05
heaventian
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-3-26
收藏
得分:0 
请大家帮帮忙,谢谢!
2011-03-18 21:48
king_kong
Rank: 2
来 自:山东
等 级:论坛游民
帖 子:71
专家分:55
注 册:2010-9-9
收藏
得分:7 
没看懂  说实话  我也不是很清楚指针的问题   老是混淆
2011-03-18 22:07
dingdaerwxl
Rank: 2
等 级:论坛游民
帖 子:18
专家分:16
注 册:2011-3-17
收藏
得分:0 
将i的地址赋给指针变量s ,而s 是指向字符变量的指针变量 ,i是整形占两个字节。而字符占一个字节 所以 s 指向i的第一个字节 s+1指向i的第二个字节,
 *(s+1)就是s[1] 输出 s[0] s[1]就是输出i的两个字节的内容

s = (char *) &i; 应该是强制类型转换
至于 s = char * &i;   这是一个错误
但应该知道的是  & *优先级一样 按自右像左的结合顺序
2011-03-19 17:10
变幻小子
Rank: 6Rank: 6
来 自:广东陆丰
等 级:侠之大者
帖 子:188
专家分:473
注 册:2011-3-4
收藏
得分:0 
不是源文件

明天的梦
2011-03-20 11:38
变幻小子
Rank: 6Rank: 6
来 自:广东陆丰
等 级:侠之大者
帖 子:188
专家分:473
注 册:2011-3-4
收藏
得分:0 
看看书

明天的梦
2011-03-20 11:38
liangjinchao
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:376
专家分:697
注 册:2010-11-8
收藏
得分:0 
回复 楼主 heaventian
后来怎么s又变成一个数组了?

数组名本来就是一个指针!它指向数组的第一个元素!

因为有了因为,所以有了所以,既然已成既然,何必再说何必
2011-03-20 11:55
快速回复:请教关于下面的指针和数组的问题
数据加载中...
 
   



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

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