c字符和字符数组/字符串
2015-04-15 17:41
78 查看
一维和二维的都可以;
一维的情况如下:
1,char string0[10];
2,char string1[]="prison break";
3,char string2[100]="michael scofield";
1句表示定义个长度为10的字符串,但未赋值,2句表示定义了一个字符数组string1,并进行初始化,使得其长度自动为13(字符串”prison break"中的字符个数加上结尾的'\0'),3句定义了一个有100个元素的字符数组string2,并初始化了17个元素("michael scofield";加上结尾的'\0');
二维的情况如下:
1,char string3[6][30];
2,char string3[6][30]=;
此句表示有6个字符串,每个字符串的长度为30,每个字符串的初始值与“joy","phosee","monses","chandele","ross","rather"相对应;
指针形式:
1. char *p;
p="hello"; //把字符串“hello”的首地址赋给了指针变量p,而不是将字符串赋给指针p,指针接受的是地址。
char*p="hello";
这里是初始化。
可以看到p被定义为一个指针变量,指向字符型数据,输出时,要用:
printf("%s\n",p);
在输出时,系统先输出它指向的一个字符数据,然后自动使p加1,使之指向下一个字符,然后在输出一个字符···如此直到遇到字符串结束标志'\0'为止。
说明:通过字符数组名或字符串指针变量可以输出一个字符串,而对一个数值型数组,是不能企图用数组名输出他的全部元素的。
一维的情况如下:
1,char string0[10];
2,char string1[]="prison break";
3,char string2[100]="michael scofield";
1句表示定义个长度为10的字符串,但未赋值,2句表示定义了一个字符数组string1,并进行初始化,使得其长度自动为13(字符串”prison break"中的字符个数加上结尾的'\0'),3句定义了一个有100个元素的字符数组string2,并初始化了17个元素("michael scofield";加上结尾的'\0');
二维的情况如下:
1,char string3[6][30];
2,char string3[6][30]=;
此句表示有6个字符串,每个字符串的长度为30,每个字符串的初始值与“joy","phosee","monses","chandele","ross","rather"相对应;
指针形式:
1. char *p;
p="hello"; //把字符串“hello”的首地址赋给了指针变量p,而不是将字符串赋给指针p,指针接受的是地址。
char*p="hello";
这里是初始化。
可以看到p被定义为一个指针变量,指向字符型数据,输出时,要用:
printf("%s\n",p);
在输出时,系统先输出它指向的一个字符数据,然后自动使p加1,使之指向下一个字符,然后在输出一个字符···如此直到遇到字符串结束标志'\0'为止。
说明:通过字符数组名或字符串指针变量可以输出一个字符串,而对一个数值型数组,是不能企图用数组名输出他的全部元素的。
相关文章推荐
- 有一个字符数组的内容为:"student a am i",请你将数组的内容改为"i am a student". 要求: 不能使用库函数。只能开辟有限个空间(空间个数和字符串的长度无关)。
- java字符数组和字符串,StringBuilder和字符串转换
- 数组和字符串操作(C#) 1、从字符串中删除指定字符
- 字符串数组与字符数组的区别
- C语言中字符数组和字符串指针分析
- C 字符数组与字符串的使用及加结束符'\0'的问题
- 深入分析字符数组、字符串与'\0'
- 嘿牛程序员_成都传智博客_讨论字符串中字符出现的次数(续一:通过数组实现按次序输出)
- 关于字符串 字符数组 字符型指针的问题
- 关于字符串与字符数组的一些小问题
- 《C语言及程序设计》实践项目——字符数组与字符串处理
- 字符数组与字符串,字符数组与字符指针(总结大全)
- 字符数组与字符串的区别及联系
- 字符数组和字符串总结
- 字符数组和字符串指针的区别
- StrPCopy 将字符串复制到字符数组中
- 对字符串和字符数组的理解
- 字符串和字符数组之间的转换
- 为结构体的字符数组成员赋十六进制形式表示的字符串
- C#编程中的Image/Bitmap与base64的转换及 Base-64 字符数组或字符串的长度无效问题 解决