请教:指针型函数的返回值问题
版主,我先简要描述一下遇到的问题:
下面是类employee的两个类实现函数:
//设置姓名
void employee::setname(char * names)
{strcpy(name,names);}
//提取成员姓名
char* employee::getname()
{return name;}
name是类employee内的字符型数组,主程序中,首先定义字符型数组namestr,将姓名保存在该数组,并声明一个employee类对象emp,进行姓名设定和输出:
emp.setname(namestr);
count<<emp.getname();
在类的成员函数setname中,参数传递的应该是数组的首地址吧?然后将字符型数组namestr复制给name?
在成员函数getname中,返回的是一个指针变量,按照函数体,返回值应指向数组name的首地址。而在执行cout时却将数组name存的字符串输出了,这是为什么??返回的不只是一个指针么,或者说是个地址,怎么会返回地址中的变量值?应该如何理解返回值为指针的情况呢?望版主和高手赐教,先谢谢了!