Для начала давайте разберем, что такое указатели в языке C. Указатель (*) в си — это переменная, которая содержит адрес в памяти. Для передачи функции самого объекта (а не его значения) нужно передать его адрес.
Для начала давайте разберем, что такое указатели в языке C. Указатель (*) в си — это переменная, которая содержит адрес в памяти. Для передачи функции самого объекта (а не его значения) нужно передать его адрес.
Объявление указателя:
int *ptr; char *ch; float *fl;
Так как указатели содержат адреса объектов (переменных), то, соответственно, значения там хранятся одного типа и любой указатель занимает в памяти 2 байта. Выше вы увидели объявление указателей, но мы им не присвоили адресов переменных, т. е. на данном этапе каждый из них имеет значение NULL. Давайте присвоим указателям адрес переменной:
int c = 10; int *ptr = &c;
Мы объявили сначала переменную с, далее, сразу при объявлении указателя, инициализировали его адресом переменной с. Знак перед переменной с (&) называется «операцией взятия адреса», которая возвращает адрес переменной.