LINUX.ORG.RU
ФорумTalks

Вопрос по синтаксису C.


0

0

Начал изучать управление процессами под Linux и наткнулся на следующую конструкцию:
int execv(const char *path, char *const atgv[]);

Объясните пожалуйста, в чем разница между "const char *" и "char *const". Сам я не очень понимаю. Спасибо.

anonymous

const char* - указатель на константу
char *const - указатель-константа

Socrates
()

const chat *path означает что *path константа. Сам path можно менять.

char * const p означает что сам p константа, а то на что он указывает нет. То есть сделать ++p нельзя, а *p = p[1] = 0; можно.

char * const p[] означает то же что и char * const * const p -- то есть сам p и то на что он ссылается менять нельзя. А то на что он ссылается двухшагово менять можно, например p[3][1] = 0;

dilmah ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.