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 중국어 웹사이트의 기타 관련 기사를 참조하세요!