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

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

Patricia Arquette
Patricia Arquette원래의
2024-12-17 13:16:251081검색

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

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

C에서는 루프 내에서 다양한 유형의 변수를 직접 선언하는 것이 불가능합니다. for 루프의 초기화 본문입니다. 이는 루프 초기화 부분에서 동일한 유형의 변수만 정의할 수 있는 단일 표현식을 예상하기 때문입니다.

다음 예를 고려하세요.

for (int i = 0, j = 0; ...)
{
    // ...
}

이 코드는 두 개의 정수 변수 i를 올바르게 정의합니다. 그리고 j. 그러나 초기화 내에서 정수와 문자를 선언하려고 하면 컴파일 오류가 발생합니다.

for (int i = 0, char c = 'a'; ...)
{
    // ...
}

기술적 해결 방법

그렇지는 않지만 실제 시나리오에서는 for 루프 초기화 내에서 다양한 유형을 선언하는 기술적 해결 방법이 있습니다. 여기에는 원하는 유형을 포함하는 단일 구조체를 생성한 다음 이 구조체를 초기화 표현식으로 사용하는 작업이 포함됩니다.

struct MyStruct
{
    int a;
    char b;
};

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

이 예에서는 a(정수)와 b( 문자). 루프 초기화는 MyStruct 인스턴스 s를 0과 같은 a와 'a'와 같은 b를 갖도록 설정합니다. 그런 다음 s.a가 5보다 작은 한 루프가 계속됩니다.

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

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