0%

关于C的易混小问题

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++字符串里面对一些运算符进行了重载,比如==、=、<、>等。