다시 오신 걸 환영해요
이번 강의에서는 void Pinter에 관해 얘기할게요
void가 뭔진 알죠 함수에 관해 얘기할
때 이 키워드를 썼거든요
함수에서 데이터를 반환하고 싶지 않을 때는 함수 서명의
일부로 void를 사용하죠 피하기 포인터를 사용할 때는요? 이건 무슨 의미죠?
void라는 유형은 어떤 유형도 없다는 뜻이에요
형식의 포인터는 void star로 어떤 형식의 데이터 아이템의 주소를 포함할 수
있습니다. 아주 유연하죠.
포인터로 뭘 저장할지 모르겠다면 void star라고
하세요 꽤 실용적이죠 보통 함수 매개 변수를 위한 함수에 사용되죠
void star는 종종 매개 변수 유형이나 독립적인
유형으로 데이터를
다루는 함수의 반환 유형으로 사용되죠
그래서 void star 포인터를 쓰면 기능이
좀 더 유연해질 수 있어요
기본적으로 여러분의 함수가 하나
이상의 변수를 취할 수 있지만 완전히
유연하진 않아요 규제를 피하려면 캐스트를 해야 하니까요
그래서 어떤 종류의 포인터도 형식, void 값으로 전달될 수 있어요
void 포인터는 어떤 유형의 오브젝트를 가리키는지 몰라요
그래서 직접적으로 규제를 할 수 없어요
그게 보이드 스타와 함께 발생하는 진짜 문제점이죠
다양한 데이터 타입에 대해 장기적인 유연성을 제공하지만 데이터
타입을 알아야만 사용할 수 있죠
따라서 포인터에 분명한 캐스트를
제공해야 합니다 규제를 완화할 때요
int 형식의 변수 주소는 void 형식의 포인터 변수에 저장될 수 있습니다 왜냐하면
void star는 어떤 유형의 데이터든 그 안에 저장할 수 있기 때문이죠
void * 포인터에 저장된 주소의 인터벌
값에 접근하려면 int 형식의 포인터에 먼저 캐스트해야
해요
이 예제에서는 void star 포인터를 어떻게 쓰는지 볼 거예요
정의한 변수는 세 가지죠 정수, 부동 소수점 수로 그리고 캐릭터요
보이드 스타 포인터를 만들 거예요
포인터는 void 형식이기 때문에 i 주소를 할당할
수 있어요 int요 부동 소수점 수로 f 주소를
할당할 수 있어요 그리고 문자나 문자 CH의 주소도
할당할 수 있죠
유일한 문제는 탈세예요 그런 유형을 알아야 하는데 그래도 이점이 있어요
여기서 장점은 하나의 변수 유형만 생성하면 되고 여러
개의 다른 주소를 저장할 수 있다는 거죠
하지만 사용하고 싶을 땐 별에서 사용해야 해요
여기서 데이터를 프린트할 때 in 별이 포인터를 지정하고
참조를 해제하는 걸 볼 수 있어요 괄호 안에 있는 별이 참조를
방해하죠 v 포인터가 가리키고 있는
값을 출력할 거예요 하지만 먼저
올바른 형식으로 캐스트하겠죠
이 세 개의 v 포인터에서 앤트를 위해 10개를 출력할 거예요
퍼레이드 수레는 2개가 필요해요 34살요
그리고 k를 출력할 거예요
void 포인터는 함수 매개 변수에 더
많이 사용합니다 반환 형식에요
선언 하나에 void star 포인터를 사용하고
다양한 데이터 타입을 할당할 때
정말 중요한 값이에요 고마워요