궁금했던것 😎


우리가 printf를 입력하는 방식은 다음과 같다.

printf("%d %d", 1, 2) 

그렇다면 가변인자의 끝은 우리가 어떻게 알 수 있을까?

int ft_printf(const char *args, ...)
{
	va_list ap;

	va_start(ap, args);
	while()
		va_arg(ap, int);
}

대충 위와 같은 형태라면 ap에 가변인자의 주소를 담아내고 va_arg(ap, int) 를 통해서 계속 다음 가변인자로 접근을 하다가 마지막에 NULL을 만나는 형태가 아닐까?그럼 NULL전까지만 가져오는 형식이면 되지 않을까??

결론은 아니었다.. 응 아니야~~~~!

그럼 가변인자의 수를 어떤식으로 판단할건데? 🧐


맨 처음의 예시처럼

printf("%d %d", 1, 2)

우리는 type의 갯수로 가변인자가 얼마나 필요한지를 알 수 있게 된다.

따라서 type의 갯수를 체크를 하게 되면 가변인자가 얼마나 필요한지를 알게 되고, 얼마만큼만 가져오면 되는지를 확인할 수 있지 않을까???

제 생각이 틀렸다면 언제든지 코멘트를 달아주십시오 고수님들..ㅎㅎㅎ.ㅎ.ㅎ.ㅎ.ㅎ.ㅎ..ㅎ.ㅎ.ㅎ