Subject

Get Next Line на структурах ✅

get_next_line (старый subject)

open, read, BUFFER_SIZE ❎

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

123.png


НЕ ДОПИСАНО! вся инфа в 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