a、&a、*a
- a表示存储单元中的数据
- &a表示a对应的存储单元的地址
- *a表示一个存储单元中的数据,其中a为存储单元地址
char a[ ]、char *a、char * a[ ]
字符串在编译器中也是一个地址(字符串的首地址)
- char a[6]表示一个字符数组,大小为6个字节
- char *a表示一个指针变量,只占4个字节
- char * a[ ]中由于[ ]的优先级高于*,所以a先和[ ]结合。于是char * a[ ]表示一个数组,数组中的元素是char *
详细及更多解释见这儿
C++和C 的字符串的区别
- C字符串是基本数据类型,即字符数组;C++字符串是类。
- C字符串函数是外部函数,字符串作为参数被传进来,进而对其进行操作;C++字符串函数是字符串类内部定义的,可以直接进行使用,如
str.length()
。 - C++字符串里面对一些运算符进行了重载,比如==、=、<、>等。