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

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

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

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++——字符串数组》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

CSS3专业网页开发指南

CSS3专业网页开发指南

Peter Gasston / 李景媛、吴晓嘉 / 人民邮电出版社 / 2014-3-1 / 45.00元

《CSS3专业网页开发指南》是英国著名Web前端开发工程师Peter Gasston对CSS3高级技术的全面介绍。书中既有CSS3的发展历史、基本语法等入门知识介绍,也涵盖了媒体查询、选择器、伪类与伪元素、网页字体、文本排版、图形处理、动画、布局等CSS3前端开发必不可少的知识,还介绍了CSS3的未来发展方向。全书共分为17章,作者在每一章的讲解中都结合了大量的实例,同时也不忘介绍每一项技术的发展......一起来看看 《CSS3专业网页开发指南》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

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

URL 编码/解码

SHA 加密
SHA 加密

SHA 加密工具