第十八章 16 函数如何返回字符串 简单

// 16 函数如何返回字符串
/*
#include <iostream>
using namespace std;
char *get(char *str);
int main()
{
	//上一节的末尾处讲过,只要获得字符串中第一个字符的地址就可依次找到其它字符,因此只要将字符串中第一个字符的地址返回,就相当于返回了整个字符串
	//既然它们都可看作是字符串第一个字符的地址,那么在函数中直接将它们返回,也就等同于返回了字符串的第一个字符的地址,从而间接地达到了返回整个字符串的目前的,另外由于返回的是地址,自然而然地避免了调用复制构造函数,系统的开销也大大减少
	char c[10] = "";
    char *ch;
	cout<<"请输入你的名字:"<<endl;
	cin>>c;
	ch = get(c);
	cout<<"你的名字是:"<<ch<<endl;
	delete []ch; //删除一个数名必须前面加[], 不然就是删除的就是字符了

	ch = get("Jack"); //末命名字符串传入到函数get中去
    cout<<"你的名字是:"<<ch<<endl;
	delete []ch;

	char *ch1 = "Mike";
	ch = get(ch1); //现在传入一个指针ch1到get函数中去
    cout<<"你的名字是:"<<ch<<endl;
	delete []ch;

	return 0;
}

char * get(char* str)
{
   char *p= new char[strlen(str) + 1];
   strcpy(p,str); //拷贝字符串
   cout<<p<<endl;
   return p;
}*/

  

原文地址:https://www.cnblogs.com/xiangxiaodong/p/2700727.html