2012-07-30 2 views
1

Я хочу знать разницу между указателем char и указателем на char ..? Они такие же? Если нет, в чем разница?Разница между указателем char и указателем на char?

+0

Я бы сказал «тот же». Если вы находитесь на земле C++, используя квалификатор «const», то в вашем объявлении есть тонкие различия, поскольку «указатель is const» и «то, что указано на is const». Но что касается вашего вопроса: два условия эквивалентны. ИМХО .. – paulsm4

ответ

5

Я думаю, что нет никакой разницы между «указателем на символ» и «указателем на символ».

char *p; 

И просто разные способы обозначающего указателя char типа.

1

Нет никакой разницы. Они просто написаны по-другому.

+0

Зачем им писать по-другому? Или вы имеете в виду «это альтернативное выражение»? –

2

char pointer и pointer to a char одинаковы, т.е. char *ptr;

, но, если вы имеете в виду указатель на символ массив то их разница.

указатель на массив символов объявлен как char (*ptr)[n], в котором хранится адрес массива символов размером n.

2

Нет никакой разницы между указателем char и указателем на char. Оба они одинаковы. Обычно текстовые строки представлены в C массивами символов. Поскольку массивы можно легко манипулировать указателями, они часто используются.

3

Этот вопрос может иметь больше смысла, если вы скопировали его с примером кода. Насколько мне известно, они означают одно и то же, но я только когда-либо думаю о «указателе на символ».

То, что я думаю, что вы могли бы означать это:

char c = 'A'; 
char *pc = &c;   // <-- "pointer to char"? 
char *p = new char [50]; // <-- "char pointer"? 

В самом деле, pc и p выше являются символьные указатели. Они могут использоваться как массивы, хотя обращение к чему-либо, кроме нулевого элемента pc, вызовет проблемы.

2

Путаница возникает, когда вы заменяете char на double. Люди разговорно используют двойной указатель to mean Указатель на указатель какого-то типа, а не указатель на двойной тип.

Смежные вопросы