LINUX.ORG.RU

char* variable ?


0

0

обясните плиз что означает след.

const char* program_name;

какого типа переменная program_name ?


я знаком с таким определением указателя

int *pa , тогда pa -указатель на переменную типа int , и поначалу содержит мусор .

anonymous

Указатель на const char, то бишь на read-only область памяти, содержащую переменную типа char.

human0id ★★★
()

Странная конструкция. По крайней мере без инициализании. В качестве альтернативы, как мне кажется лучше использовать
#define program_name "значение"

r_asian ★☆☆
()
Ответ на: комментарий от r_asian

>Странная конструкция. По крайней мере без инициализании

char* strdup(const char* str)

`const char* str' - тоже без инициализации.

kosmonavt
()
Ответ на: комментарий от r_asian

> Странная конструкция. По крайней мере без инициализании.

Ты путаешь 'const char*' (указатель на константу) и 'char* const' (константный указатель).

int19h ★★★★
()
Ответ на: комментарий от int19h

>Ты путаешь 'const char*' (указатель на константу) и 'char* const' >(константный указатель).

Не спорю, при использовании const char* в качестве параметра функции, все Ок. Но так, как это было написано автором:

>const char* program_name;

выглядит всетаки странно. Если, конечно, я опять ничего не путаю (^_^)

r_asian ★☆☆
()
Ответ на: комментарий от r_asian

>выглядит всетаки странно. Если, конечно, я опять ничего не путаю

Ничего странного:

const char* program_name; program_name = "blah-blah-blah";

вполне законный код.

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