>백엔드 개발 >C++ >C For 루프 초기화에서 다양한 유형의 변수를 선언할 수 있습니까?

C For 루프 초기화에서 다양한 유형의 변수를 선언할 수 있습니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-22 08:36:11987검색

Can You Declare Variables of Different Types in a C   For Loop's Initialization?

For 루프 초기화 본문에서 다양한 유형의 변수 선언

C에서는 루프의 초기화 본문에서 다양한 유형의 변수를 선언하는 것이 가능한지 여부에 대한 의문이 제기됩니다. for 루프. 다음 코드를 고려해보세요.

for(int i=0, j=0 ...

이것은 두 개의 정수 변수(i와 j)를 초기화합니다. 대신 이 초기화 본문에서 int와 char을 정의하는 것이 가능합니까?

답변: 아니요, 하지만...

기술적으로는 비록 틀에 얽매이지 않더라도 해결 방법이 있습니다.

for(struct { int a; char b; } s = { 0, 'a' } ; s.a < 5 ; ++s.a) 
{
    std::cout << s.a << " " << s.b << std::endl;
}

여기에서는 int와 char을 모두 포함하는 구조체를 정의합니다. for 루프는 이 구조체의 인스턴스를 초기화한 다음 루프 본문 내의 int 멤버를 증가시킵니다.

이 해결 방법은 기술 요구 사항을 충족하지만 이 패턴은 잠재적인 혼동으로 인해 일반적으로 권장되지 않는다는 점에 주목할 가치가 있습니다. 별도의 변수를 사용하는 것에 비해 명확성이 부족합니다.

위 내용은 C For 루프 초기화에서 다양한 유형의 변수를 선언할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.