ПРИМЕЧАНИЕ: Без надлежащего контекста, использование *name
и **name
неоднозначно. это может быть портрет (а). разыменовать оператор оператор (б) умножение
Учитывая, что вы говорите о сценарии, как
char * name;
char **name;
в коде,
name
является указателем на char
.
name
является указателем, с указателем на char
.
Пожалуйста, не путайте с «двойным указателем», который иногда используется для обозначения указателя на указатель, но на самом деле должен означать указатель на переменную типа двойного типа.
Визуальное ниже
Как указано выше, мы можем сказать,
char value = `c`;
char *p2 = &value; // &value is 8000, so p2 == 8000, &p2 == 5000
char **p1 = &p2; // &p2 == 5000, p1 == 5000
Итак, p1
здесь, указатель указатель на. Надеюсь, теперь все ясно.
указатель на указатель: http://www.tutorialspoint.com/cprogramming/c_pointer_to_pointer.htm – user4757345
Wow, что было быстро! Спасибо всем :) – MLMH
Это полностью зависит от контекста, в котором '* name' и' ** name'. – juanchopanza