标题:指针存放的不是地址吗,为什么输出的却是字符?
只看楼主
xueailu1314
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2015-3-21
 问题点数:0 回复次数:1 
指针存放的不是地址吗,为什么输出的却是字符?
#include<iostream.h>
#include<string.h>
class teacher
{private:
    char *name;
    int   age;

public:

    teacher(char *i,int j)
    {name=new char[strlen(i)+1];
     strcpy(name,i);
     age=j;
     cout<<"\n 调用teacher";
    }

    ~teacher()
    {delete name;
      cout<<"\n 调用~teacher"<<endl;
    }

    void show();
};

void teacher::show()
{
cout<<"\n name is:"<<name<<"year is:"<<age;//此处name输出的为什么是flydreams而不是name的地址?????
}

void main()
{teacher obj("flydreams",27);

 obj.show();
 
}
搜索更多相关主题的帖子: teacher private include public 
2015-04-01 19:52
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
得分:0 
char型如果用指针而你又输入了字符串的话,它自动会把第一个字符后面的字符依次排入该这个地址后面相连的地址,输出时也会自动变成输出所存的数据。这个是编辑器说了算的,也不必过分较真。如果要较真的话,人家char型只存一个字符,根本就不让你输入字符串了。
2015-04-01 21:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-443394-1-1.html




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

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