| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 690 人关注过本帖
标题:VC++菜鸟问题,求各位帮忙。
只看楼主 加入收藏
lsj2000
Rank: 1
等 级:新手上路
帖 子:67
专家分:0
注 册:2004-11-25
收藏
 问题点数:0 回复次数:5 
VC++菜鸟问题,求各位帮忙。

#include "stdafx.h" #include<iostream.h>

void main() { char a[5]="abcd",*p; p=&a[1]; cout<<p<<endl; } 我感觉上面的代码应该显示字符串中“b”字符的内存地址(赋值时偶用了取地址符号 &),可为什么会显示 bcd ?

2005-03-26 16:15
lsj2000
Rank: 1
等 级:新手上路
帖 子:67
专家分:0
注 册:2004-11-25
收藏
得分:0 

#include "stdafx.h" #include<iostream.h>

void main() { char t[5]="abcd",*p; p=t; cout<<p<<endl; } 显示输出 abcd ,好象可以把一个字符数组直接赋给字符型指针变量。 #include "stdafx.h" #include<iostream.h>

void main() { int i=10,*p; p=i; //出错!必须加上取地址符 & cout<<p<<endl; } int 类型 就不可以。 为什么会这样? 如果我想获取单个字符的内存地址,该怎么办?

[此贴子已经被作者于2005-3-26 16:33:36编辑过]


我是初学者,有什么不周之处还望各位大虾指点一二。
2005-03-26 16:30
lsj2000
Rank: 1
等 级:新手上路
帖 子:67
专家分:0
注 册:2004-11-25
收藏
得分:0 
没人理我吗?自己顶上去。

我是初学者,有什么不周之处还望各位大虾指点一二。
2005-03-28 12:59
bingxue2332
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:446
专家分:0
注 册:2004-11-6
收藏
得分:0 
晕了啊

记住 数组名其实就是个地址

2005-03-28 13:08
terran
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2005-3-17
收藏
得分:0 
这样定义就可以了:
char t[5]={'a','b','c','d'}

2005-03-28 18:25
terran
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2005-3-17
收藏
得分:0 
不好意思,上面说错了!!!
是你的输出不对啊:cout&lt;&lt;p&lt;&lt;endl;
应该输出:cout&lt;&lt;*p&lt;&lt;endl;

2005-03-28 18:32
快速回复:VC++菜鸟问题,求各位帮忙。
数据加载中...
 
   



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

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