声明一个char**变量如何进行初始化?

aw325 2009-05-23 02:18:14
加精
我想声明一个变量,类似于main的参数argv,即char **,想在声明的时候就初始化,能否实现?

例如:
char ** args={"ls","-l",NULL};#这样声明不成功
...全文
11152 54 打赏 收藏 转发到动态 举报
写回复
用AI写文章
54 条回复
切换为时间正序
请发表友善的回复…
发表回复
interim2012 2012-05-02
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]
引用 4 楼 aw325 的回复:
引用 1 楼 ltc_mouse 的回复:
你应该这么定义,argv是字符串数组:
char *argv[]={ "ls", "-1", NULL };

我本来是这样定义的,但是出现警告,程序没有编译成功。
警告: 不建议使用从字符串常量到‘char*’的转换


C/C++ code
const char *argv[]={ "ls", ……
[/Quote]

学习了。
iLove9ouHenry 2012-02-17
  • 打赏
  • 举报
回复
二級指針也是指針,不過是指向的變量類型是指針。
hzj_hzj 2011-05-20
  • 打赏
  • 举报
回复
lu llg d df
tshiwang 2011-05-20
  • 打赏
  • 举报
回复
因为你只定义的是一个指针变量,该变量初始化也只能是赋值一个地址变量,而你的初始化设计多个地址元素.自然编译要报错的.
zyouth 2011-03-03
  • 打赏
  • 举报
回复
而char *p[4] 指针数组可改写为char **ptr
zyouth 2011-03-03
  • 打赏
  • 举报
回复
感觉45楼说的对
fjx1982441 2010-03-31
  • 打赏
  • 举报
回复
学习了
invail 2010-03-21
  • 打赏
  • 举报
回复
学习
Damn_boy 2010-03-13
  • 打赏
  • 举报
回复
顺带说一下 6楼的好像有问题

你先定一个char p[] = "111";
char** pp = &p;

&p应该是一个数组指针吧 而不是二级指针。
你这样赋值会不会出问题?

不知道是不是我脑子发热理解错了
Damn_boy 2010-03-13
  • 打赏
  • 举报
回复
char **p
char *p[]
那个p有点悬

char **p p是一个二级指针 用于指向 char指针
char *p[] p是一个char指针数组的组名

不过根据组名是指向数组首元素这个定义
这两个p是同一个东西

不过初始化的时候又完全不同。
一个用指针的地址初始化
一个用指针初始化
有那么点意思。怪怪的啊
我昨晚也碰到这个问题
wenhaimei 2009-11-01
  • 打赏
  • 举报
回复
路过,学习~
浴火涅磐 2009-05-24
  • 打赏
  • 举报
回复
C语言不太知道,但是java这样还是可以的
fanchangyong 2009-05-24
  • 打赏
  • 举报
回复
不记得哪里看到的,我们要重视编译器给出的警告
QQ_456 2009-05-23
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 j8daxue 的回复:]
这样做也可以吧?我就做过
typedef char* pChar;
pChar *p = new pChar[10];
delete []p;
[/Quote]


好规范
QQ_456 2009-05-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ltc_mouse 的回复:]
你应该这么定义,argv是字符串数组:
char *argv[]={ "ls", "-1", NULL };
[/Quote]

就这样定义,没错
  • 打赏
  • 举报
回复
我是新手呀,好好学习啦!呵呵
vincent_1011 2009-05-23
  • 打赏
  • 举报
回复
楼上正解,先给一级指针自身分配空间,再给字符串分配空间
lkgd1982 2009-05-23
  • 打赏
  • 举报
回复
unsigned int i = 0;
char** p = NULL;
p = (char**)calloc(128, sizeof(char*));
for (i = 0; i < 128; ++i)
{
p[i] = (char*)calloc(128, sizeof(char));
}


分配空间(128*128)外加初始化空间.
lzp765 2009-05-23
  • 打赏
  • 举报
回复
mark
gmajygah 2009-05-23
  • 打赏
  • 举报
回复
STUDING!!!!!!!!!!!!!
加载更多回复(33)

69,368

社区成员

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

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