第十八章 15 char型字符串与函数 简单

// 15 char型字符串与函数
/*
#include <iostream>
using namespace std;
//int get(const char*p);
int get(const char p[]);
int main()
{
	//char型字符串也就是C风格的字会串,它由一个串字符组成,结尾为字符串结束标志'\0'
	//字符串名是第一个字符的地址,因此我们将字符串名作为参数传递到函数时,其实就是将地址传递到函数中去
	//由于字符串的最后一个字符是'\0',因此我们不必传递字符长度,只要在函数中设置一个循环体,把结束字符作为循环结束的条件即可

    char ch[15] = "hello word"; //字符串数组
	char *p = "very well";      //指向下个末命名的字符串数组指针
	"good idea";                //一个末使名的字符串数组
	//char ch[15] 与char *p最大的区别在于ch中的字符值是可以修改的,而p的指向的字符值是不能修改的
	
	ch[0] = 'H';
	//*(p+0) = 'V'; 不能被修改的

	//未命名字符串存放在文字常量区,它的值是不可改变的,而指向一串字符的指针p由于指向的就是未命名字符串,所以它指向的字符串也是不可更改的,只有第一种方式,也就是字符串数组,由于它是以数组形式存放字符串的,所以它的值是可以改变的

	int chLength = get(ch);
	int pLength = get(p);
	cout<<"ch:"<<ch<<" 长度为:"<<chLength;
	cout<<"p:"<<p<<" 长度为:"<<pLength;
	
    return 0;
}

//int get(const char *p)
int get(const char p[])
{
	int count = 0;
	//while(*p)中的*p代表p指针指向的字符,这样每次p++后,p指针就指向下一个字符
	//*p也就成了下一个字符,而count++则表示字符又增加多一个,这样当p指针指向最后一个字符,也就是'\0'时,*p变成了数值为0的空字符,为0表示条件为假,while循环结束

	while(*p)
	{
	     count++;
		 p++;
	}
	return count;
}


*/

  

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