한 줄에 여러 포인터 선언: 구문 이해
C에서 한 줄에 여러 개체 포인터를 선언할 때 흔히 저지르는 함정 구문이 올바르게 이해되지 않으면 발생할 수 있습니다. 다음 코드를 고려해보세요.
<code class="cpp">private: sf::Sprite* re_sprite_hair; sf::Sprite* re_sprite_body; sf::Sprite* re_sprite_eyes;</code>
이 코드는 sf::Sprite 유형의 객체를 가리키는 세 개의 포인터를 성공적으로 선언합니다. 그러나 구문을 다음 형식으로 변경하면 컴파일러 오류가 발생합니다.
<code class="cpp">private: sf::Sprite* re_sprite_hair, re_sprite_body, re_sprite_eyes;</code>
이유:
이 두 선언의 차이점은 다음과 같습니다. 두 번째 버전에서는 별표 *를 사용합니다. C에서 별표는 포인터 선언을 나타냅니다. 생략하면 객체 자체가 선언됩니다.
첫 번째 버전에서는 각 변수에 별표가 있어 세 변수 모두 포인터임을 나타냅니다. 두 번째 버전에서는 별표가 re_sprite_hair에만 적용되어 포인터가 되고, re_sprite_body와 re_sprite_eyes는 sf::Sprite 유형의 객체가 됩니다. 잘못된 구문으로 인해 컴파일러 오류가 발생합니다.
올바른 구문:
한 줄에 여러 포인터를 올바르게 선언하려면 별표를 사용하는 것이 중요합니다. 각 변수. 올바른 구문은 다음과 같습니다.
<code class="cpp">private: sf::Sprite* re_sprite_hair, *re_sprite_body, *re_sprite_eyes;</code>
각 변수에 별표를 적용하면 컴파일러는 세 변수를 모두 포인터로 인식하므로 선언이 유효합니다.
위 내용은 C에서 한 줄에 여러 포인터를 올바르게 선언하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!