문자열 배열의 크기

다음과 같은 배열의 크기를 찾으려고합니다.

 String days[3] = { "Mon", "Tue", "Wed" }; Serial.printf("Size of array: %2d\n", sizeof(days)); for (int i = 0; i < sizeof(days); i++) { Serial.print(days[i]); } 

위 코드의 결과는 잘못된 36입니다.

처음에 배열의 크기를 모르는 것을 고려할 때 다른 옵션이 있습니까?

Comments

  • sizeof ()는 요소 수가 아니라 바이트 수입니다. sizeof (array) / sizeof (element)는 요소 수를 나타냅니다.

답변

아니요, 결과는 정확합니다. 단지 잘못 해석하는 것입니다. 정적으로 할당 된 배열의 요소 수를 원하는 경우 다음을 사용하십시오.

sizeof(somearray) / sizeof(somearray[0]) 

주석

  • 배열의 각 문자열 크기가 다른 경우 Ignacio Vazquez-Abrams의 답변을 따라 잘못된 주제로 게시하면 죄송합니까? like String days [] = {" 월요일 ", " 화요일 ", " 수요일 "}; 감사합니다

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다