Страницы

Поиск по вопросам

вторник, 31 декабря 2019 г.

Объявление указателей через запятую

#cpp #c


Данное предложение объявляет два указателя или указатель и объект? Верно ли это для
любого типа переменных?

int* x, y;
    


Ответы

Ответ 1



int* x, y; - указатель x и целочисленная переменная y. * относится к переменной, а не к типу. Объявите тип с помощью typedef (или в C++ - с помощью using) - тогда дело другое: typedef int * pint; pint x, y; Здесь и x, и y - указатели на int.

Ответ 2



Указатель и не указатель. Поэтому звёздочку и принято писать перед именем переменной, а не перед типом. http://ideone.com/oVvCU2 #include int main() { short *a, b; printf("%zu %zu\n", sizeof a, sizeof b); return 0; }

Комментариев нет:

Отправить комментарий