【发布时间】:2019-09-27 10:25:07
【问题描述】:
我应该如何阅读这些定义?
const char *arguments[]char *const arguments[]
我看到execl() 代码使用第一种形式的示例,但无法使其在 Linux 下工作,不得不使用第二种形式?
【问题讨论】:
-
使用this 找出这些声明的含义。
-
@Blaze:据此,
char *const arguments[]表示Error error。 -
the spiral rule也值得一读
-
(1) 给我:将参数声明为指向 const char 的指针数组 (2) 给我:将参数声明为指向 char 的 const 指针数组。
-
“无法在 Linux 下运行”是什么意思?如果您收到错误消息,请在您的问题中显示它并显示产生错误的代码。函数
execl()不接受数组,但函数execv()接受并且声明为int execv(const char *path, char *const argv[]);,因此您必须使用第二种形式。
标签: c object pointers constants