关于字符数组和字符串数组

原创 2007年10月04日 21:59:00

首先看2个东东

 

char str1[] = {'a','b','c','d'};
char *str2[] = {"a","b","c","d"};

这2个哥们儿长的很像,可实际的涵义确差老了。2个都是C里面的东东。

str1叫字符数组,首先它是一个数组,5个元素但长度为4 (加上个/0)其实就相当于“abcd”。看看怎么变过来的:

首先变为char str1[ ] = {"abcd");然后把括号去掉就是 char str1[ ] = "abcd",和C++里面初始string对象一样

在C++里面你可以这么用 string s(str1)或string s = str1 就相当于string s("abcd")对s进行初始化,反正就是一句话,可以把一个字符串数组看成一个字符串常量。另一种高级的玩法的是

string s(str1,hello + strlen(str1)) 要知道在C++里面数组的指针也就是str可以看成指向其本身的的迭代器。

str2 有点麻烦,两兄弟最不像的地方就是引号,一个单一个双。这就是关键了!!单表示字符,双表示字符串,字符串是什么,刚才已经说过了,它是数组。这下就哦了,不就是数组的数组么,说白了就是个2维数组,在白点就是一个指针的指针,所以可以用char** p指向它,

字符数组和字符串,char 和string定义的字符串的区别与遍历

字符数组:存在字符的数组字符串 :是使用最频繁的字符数组,是一个特殊的字符数组C++中并没有专门的字符串的类型,一个字符串实际上就是一个字符数组,与普通字符数组不同的是,字符串的结尾有一个字符\0,表...
  • mikedadong
  • mikedadong
  • 2016年11月05日 20:13
  • 3882

使用字符串指针变量和字符数组的区别

用字符数组和字符指针变量都可实现字符串的存储和运算。 但是两者是有区别的。在使用时应注意以下几个问题: 1. 字符串指针变量本身是一个变量,用于存放字符串的首地址。而字符串本身是存放在以该首地址为首...
  • zhjqxy
  • zhjqxy
  • 2016年11月01日 14:50
  • 448

C/C++中关于字符串数组与字符串常量

今天遇到了好多问题,从内存到字符串。。。上网查了些资料,现在就字符串数组和字符串常量来做个总结吧。其实也就是char  sz[] = "string"; 和char *psz = "string"; ...
  • code_bomber
  • code_bomber
  • 2007年11月01日 23:50
  • 7953

字符串常量和字符数组的区分

首先我们来看个程序,这个程序说的是字符串函数strcat()函数的实现:#include #include #include #define MAX 20 char *my_strcat(char *...
  • qq_26768741
  • qq_26768741
  • 2016年04月16日 12:53
  • 718

C++中字符数组和字符串string

字符数组 C++中字符数组用char str[]可以用来表示一个字符串。 (1)   数组的大小和字符串的长度。 数组的大小一定要大于字符串的长度,因为系统会自动补上一个’\0’作为字符串的结束标志。...
  • Lu597203933
  • Lu597203933
  • 2014年09月19日 22:50
  • 28621

字符数组和字符串数组

字符数组:是指用来存放字符的数组,定义方式和引用方式和数组一样。 定义及其初始化: char str [7] = {'h','e','l','l','o'}; //赋值后有 str[0] = 'h';...
  • dyq17729845523
  • dyq17729845523
  • 2016年04月17日 19:52
  • 161

C Java 字符串和字符数组区别

1. C 语言   在C语言中字符串和字符数组基本上没有区别,都需要结束符;如:char s[4]={'a','b','c','d'};此字符数组的定义编译可以通过,但却没有关闭数组,若其后需要申请...
  • Easy_Gemini
  • Easy_Gemini
  • 2012年11月26日 15:31
  • 4816

C/C++ 字符数组的输入输出

字符数组就是char数组,当维度是一维是可以当做“字符串”,当维度是二维时可以当成是字符串数组,即若干字符串。字符数组的输入除了使用scanf外,还可以使用getchar或者gets;其输出除了使用p...
  • a834352982
  • a834352982
  • 2017年02月24日 15:09
  • 9162

字符串和字符数组的区别以及sizeof和strlen的区别

字符串和字符数组的区别 字符数组顾名思义就是存放字符类型的数组呗, char str[5] ; printf("元素%d\n",sizeof(str));//5 printf("元素%d...
  • u011484045
  • u011484045
  • 2015年09月05日 09:50
  • 2222

字符数组(C风格字符串)的初始化和赋值

字符数组的初始化方式变量的定义指的是:指明变量所属类型、变量名称、分配空间以及初始化其初始值的过程。可以看出,变量的初始化是变量的定义的一部分。除了const变量需要显示的初始化以外,如果变量定义的时...
  • K346K346
  • K346K346
  • 2015年09月09日 17:10
  • 3226
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于字符数组和字符串数组
举报原因:
原因补充:

(最多只允许输入30个字)