c中有关char *p 和char a[6] ,char a[] char a[0] 的区别

原创 2015年11月19日 22:57:50

char *p 和char a[6] 的区别其实就是指针和数组的区别, 数组和指针的区别主要在于数组分配的是连续的一块地址,而指针所指的地址有可能是malloc分配的出来的不连续的地址,指针的地址不确定,而数组在声明完后就是确定大小的。 数组就是一块地址,而指针只是一个地址索引。


char a[] 和char a[0] 是一样的,表示可变的数组,只能出现在函数参数中(这时他和指针没什么区别,就表示形参是一个地址值)或者出现在strcut 的最末尾处表示一个可变数组。一个struct中只能有一个可变数组,并且只能在末尾处。


 可变数组本身只是一个应用计较而已,在申明只是没有开辟内存空间,所以也不计入sizeof的大小中。



结构体最后定义一个char p[0];这样的成员有何意义(转)

结构体最后定义一个char p[0];这样的成员有何意义(转) (2006-12-26 19:01) struct  ast_exten  {             char  *exte...

Java 中 char 与 byte 的区别

  • 2015年08月07日 15:11
  • 15KB
  • 下载

c结构体中char[0]的作用

struct MyData  {     int nLen;     char data[0]; };          开始没有理解红色部分的内容,上网搜索下,发现用处很大,记录下来。       ...

string变量字符串的结束标志是什么,我看书上好像和c不一样,c的char *是以"\0"结束但c++好像不是

C++标准库的string不是以'\0'结束,而是string类中有一个记录长度的值 (具体怎么实现我不是很清楚,要等看过STL代码或者比我牛的大牛来给你说) 但是C++中的string你要得到它...

char和vchar2区别

  • 2009年04月13日 13:39
  • 1KB
  • 下载

char TCHAR WCHAR区别

  • 2013年05月14日 19:02
  • 228KB
  • 下载

C/C++ char和int的区别

字符字面值一般是用一对单引号来表示。char类型一般就是用字符字面值来初始化、赋值。由于char类型的是单字节长度,当给char类型的变量用字符字面值赋值时,当单引号里面的内容超过一个字节时,系统会自...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c中有关char *p 和char a[6] ,char a[] char a[0] 的区别
举报原因:
原因补充:

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