而对字符指针变量 , 采用下面方法赋值:
char* a;
a="I love China";
或者是 char* a="I love China"; 都可以
4.3、对字符指针变量赋初值(初始化):
char* a="I love China";
等价于:
char* a;
a="I love China";
而对于字符数组的初始化
char str[14]="I love China";
不能等价于:
char str[14];
str="I love China"; (这种不是初始化 , 而是赋值 , 而对数组这样赋值是不对的)
4.4、如果定义了一个字符数组,那么它有确定的内存地址;而定义一个字符指针变量时,它并未指向某个确定的字符数据,并且可以多次赋值 。
5、字符串处理函数
5.1
char *strcat(char *str1,const char *2 );
char *strcat(char *strDestination,const char *strSource );
功能:函数将字符串str2 连接到str1的末端,并返回指针str1
注:连接前两个字符串的后面都有一个' /0 ',连接时将字符串1后面的 ' /0 ‘去掉 , 只在新串最后保留一个 ' /0 ‘
5.2
char *strcpy(char *str1,const char *2 );
char *strcpy(char *strDestination,const char *strSource );
功能:复制字符串strSource中的字符到字符串strDestination,包括空值结束符 。返回值为指针strDestination 。
注:1、“字符数组1”必须写成数组名形式,“字符串2"可以是字符数组名,也可以是一个字符串常量
2、复制时连同字符串后面的 ' /0 ' 一起复制到数组1中
3、不能用赋值语句直接将一个字符串常量或者字符数组直接赋给一个字符数组(同普通变量数组是一样的) , 而只能用strcpy函数处理 。
4、可以用strcpy函数将字符串2中的前若干个字符复制到字符数组1中去 。
;
c语言中的fgets函数 。fgets()函数用于从文件流中读取一行或指定个数的字符c语言里读字符数组函数,其原型为:
char
*
fgets(char
*
string,
int
size,
FILE
*
stream);
参数说明:
string为一个字符数组c语言里读字符数组函数,用来保存读取到的字符 。
size为要读取的字符的个数 。如果该行字符数大于size-1 , 则读到
size-1
个字符时结束,并在最后补充'
\0'c语言里读字符数组函数;如果该行字符数小于等于
size-1,则读取所有字符,并在最后补充
'\0' 。即,每次最多读取
size-1
个字符 。
stream为文件流指针 。
【返回值】读取成功,返回读取到的字符串,即string;失败或读到文件结尾返回NULL 。因此我们不能直接通过fgets()的返回值来判断函数是否是出错而终止的,应该借助feof()函数或者ferror()函数来判断 。
注意:fgets()与gets()不一样,不仅仅是因为gets()函数只有一个参数
FILE
*stream,更重要的是,fgets()可以指定最大读取的字符串的个数,杜绝了gets()使用不当造成缓存溢出的问题 。
C语言getchar()和gets()的用法C语言getchar()和gets()的用法:
1、gets读一行,getchar()读一个字符 。
2、函数用法:
1)gets()用于从标准输入流stdin读入一个整行(以'\n'或EOF)结束,写入ptr指向的字符数组,并返回这个指针;出错或遇到文件结束时则返回NULL 。行末的'\n'从流中取出,但不写入数组 。gets()不检查被写入的数组大小 。
2)getchar()用于从标准输入流stdin读入一个字符,并返回这个字符 。如果读到文件结尾,则返回EOF 。注意到EOF不能用char类型表示,所以getchar()函数返回的是一个int型的数 。使用时也应该注意这一点 。
拓展资料:
推荐阅读
- 直播间陈列摆放技巧视频,陈列直播的内容
- asp.netIIS7原理,aspnet core原理
- 拍摄相片配什么手机,拍相片最好的手机
- 新手如何做好新媒体营销工作,新手如何做好新媒体营销工作论文
- python的函数栈 python中的栈
- 8532是什么cpu,8532是什么意思爱情
- 支付宝小程序企业号,支付宝企业帐号
- a4300m换什么cpu,a4 3300cpu
- go语言各种命令 go语言执行cmd命令