execve関数の引数について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
まなお

execve関数の引数について

#1

投稿記事 by まなお » 15年前

execve関数の引数について不明な点があるので投稿します。
環境はLinuxです。

execve関数のプロトタイプ宣言は以下のようになっています。
int execve(const char *filename, char *const argv[/url], char *const envp[/url]);

そこで質問なのですが、argvやenvpに指定する文字列はexecve関数の中で変更される可能性が
あるということなのでしょうか?

もし変更される可能性がないのならば
int execve(const char *filename, const char *const argv[/url], const char *const envp[/url]);
というようにcharの前にconstがあるべきだと思います。
何か理由があるのでしょうか?

hoge

Re:execve関数の引数について

#2

投稿記事 by hoge » 15年前

> もし変更される可能性がないのならば
> int execve(const char *filename, const char *const argv[/url], const char *const envp[/url]);
> というようにcharの前にconstがあるべきだと思います。
> 何か理由があるのでしょうか?

constつきだと、キャストする必要があり、面倒くさいからではないでしょうか。
http://www.kouno.jp/home/c_faq/c11.html#10

画像

閉鎖

“C言語何でも質問掲示板” へ戻る