get_next_line (старый subject)
Задача данной статьи, на простых примерах подвести тебя к пониманию сути функции get_next_line. Если ты плохо понимаешь указатели, загляни сначала в соответствующий раздел - Указатели ❎ . Обязательно прочти - open, read, BUFFER_SIZE ❎. После уже переходи к тексту ниже на этой странице. Для лучшего понимания копируй примеры кода и выполняй их самостоятельно.

НЕ ДОПИСАНО! вся инфа в open, read, BUFFER_SIZE ❎
int f2(int *i) // i - это адрес
{
printf("%p\\n", i);
*i = i * 2;
}
f2(int *i) - при объявлении функции, звездочка означает создание указателя
*i = i * 2; -при использовании звездочки в теле функции, она означает что мы используем указатель, то есть это операция разыменования (взятие адреса).
#include <stdio.h>
char *get_next_line(int fd)
{
}
void f1(int *i) // i - это адрес (автоматическая переменная)
{
printf("--- функция f1 ---\\n");
printf("Адрес переменной i: %p\\n", *i);
*i = *i * 2;
printf("--- конец функции f1 ---\\n");
}
// void f2(int *u) // u - это адрес
// {
// printf("--- функция f2 ---\\n");
// printf("Для работы c переданным адресом использую переменную u");
// printf("Адрес переменной u: %p", &u)
// *u = *u * 2;
// }
int main(void)
{
int i;
i = 5;
printf("----------функция main---------------------------\\n");
printf("Печатаю адрес переменной i: %p\\n", &i);
printf("Передаю этот адрес %p в функцию f1\\n", &i);
f1(&i); // взяли адрес у переменной i , и передали в функцию f2
printf("%d\\n", i);
}
#ifndef BUFFER_SIZE
# define BUFFER_SIZE 256
#endif //end buffer_size
while(ft_strchr(string, '\\n') && n)
если ft_strchr вернет \n то в 1
если ft_strchr не вернет \n то 0
while(!ft_strchr(string, '\\n') && n)
если ft_strchr вернет \n то есть 0