C/C++——字符串数组

栏目: C++ · 发布时间: 4年前

内容简介:理解:字符串指针变量本身是一个变量,运行结果:理解:

C语言里字符串数组应该怎么定义?

字符指针

char *str[]="Hello World!";

char *str;
str = "Hello world"

理解:字符串指针变量本身是一个变量, 用于存放字符串的首地址 。而字符串本身是存放在以该首地址为首的一块连续的内存空间中并以 0 作为串的结束。

  • *a只是指向一个字符
int main(void){  
    char *a= "bcd" ;  
    printf("输出字符:%c \n", *a);  /*输出字符,使用"%c"*/
    printf("输出字符:%c \n", *(a+1) );  /*输出字符,使用"%c"*/
    printf("输出字符串:%s \n", a); /*输出字符串,使用"%s";而且a之前不能有星号"*"  */
    system("pause");  
}

运行结果:

输出字符:b 
输出字符:c 
输出字符串:bcd
  • 若字符串常量出现在在表达式中,代表的值为该字符串常量的第一个字符的地址

字符数组

char  str[]="Iamhappy";

理解: 字符数组是由若干个数组元素组成的 ,它可用来存放整个字符串。(即用字符数组来存放字符串)。

  • 这种字符数组只能在字符数组初始化时使用,字符数组的赋值只能对其元素一一赋值。
char str[10]={'I','','a','m','','h','a','p','p','y'};

错误的赋值方式:

char str[20];
str="Iamhappy";

总结

在C语言,有两种方式表示和存放一个字符串

  • 用字符数组存放一个字符串
char str[]="I love u";

数组名就是字符串的首地址

  • 用字符指针指向一个字符串
char *str="I love u";

指针变量就是字符串的首地址

两种表示方式的字符串输出都用:printf("%sn", str);

字符串指针数组

char *str[] = {"Hello", "C++", "World"}; //char (*str)[] = ...
 int i;
 for(i=0; i<3; i++)
    printf("%s\n", str[i]);
  • char *str[] :表示str是数组,数组中的元素是指针,指向char类型
  • str+1 :表示str的第二个元素的内存地址,所以是加8字节
  • *(str+1):表示数组的第二个元素的内容 (是个char类型的指针,表示C++字符串的地址)
  • *(*(str+1)+2) :表示数组的第二个元素的内容(char指针),指向的第三个字符(C++中的第二个+)

以上所述就是小编给大家介绍的《C/C++——字符串数组》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

树莓派学习指南

树莓派学习指南

[英]Peter Membrey、[澳]David Hows / 张志博、孙峻文 / 人民邮电出版社 / 2014-4 / 49.00元

树莓派(Raspberry Pi)是一款基于Linux系统的、只有一张信用卡大小的卡片式计算机。由于功能强大、性能出色、价格便宜等特点,树莓派得到了计算机硬件爱好者以及教育界的欢迎,风靡一时。 《树莓派学习指南(基于Linux)》是学习在树莓派上基于Linux进行开发的一本实践指南。全书共3个部分11章,第一部分是前两章,讲述如何设置和运行图形用户界面(GUI)。第二部分是第3章到第7章,讲......一起来看看 《树莓派学习指南》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具