请问: and 两种指针数组定义及其使用有差别吗?

pony12 2002-02-20 04:57:16
请举例说明?
...全文
49 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
talcon_hu 2002-02-21
  • 打赏
  • 举报
回复
效果是一样的,,但内存区域不一样
char**使用new或malloc分配内存是会在其分配的内存区域前后加
上标志位FDFDFDFD和长度等,为释放内存时用!
如过人为的去修改它,将会在free或delete是出错!
pony12 2002-02-20
  • 打赏
  • 举报
回复
char *m[5];
m[1]="Iamadog!";//ok
char **x;
x+1="Iamadog!";//error
x="Iamadog!";//error
x=m;//ok
chenjm 2002-02-20
  • 打赏
  • 举报
回复
有差别。

char *a[]:数组在定义时即分配,如果不指明数组长度,则定义时即要求初始化。

char **a:数组要求用类似于new char*[10]的方式分配,不再使用时要求用delete删除,如下

char **a = new char*[100];
...
delete a;
steven_zhou 2002-02-20
  • 打赏
  • 举报
回复
不用举例了,没有任何差别
编译器会统一为char **a

69,337

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧