programing

char* 배열의 C 크기

codeshow 2023. 9. 24. 13:13
반응형

char* 배열의 C 크기

저는.char*배열:

char *tbl[] = { "1", "2", "3" };

어떻게 사용합니까?sizeof연산자가 배열의 요소 수를 구하는데, 여기 3?

아래는 효과가 있었지만, 맞습니까?

int n = sizeof(tbl) / sizeof(tbl[0]) 

네.

size_t n = sizeof(tbl) / sizeof(tbl[0])

가장 전형적인 방법입니다

를 사용하는 것에 유의하시기 바랍니다.int배열 크기에 대해서는 최적의 아이디어가 아닙니다.

더 짧고 깨끗한 버전은 다음과 같습니다.

sizeof tbl / sizeof *tbl

:)

네, 배열 tb1의 원소 개수를 알려줄 것입니다.

int n = sizeof(tbl) / sizeof(tbl[0])

해석:

(tb1)의 크기는 전체 배열의 크기, 즉 tb1 = 3바이트를 제공합니다.

(tb1[0])의 크기는 tb1[0]이 문자 값(주소 tb1+0의 값) = 1바이트를 제공하므로 문자의 크기를 제공합니다.

그 둘을 나누면 3가지 요소가 나옵니다.

언급URL : https://stackoverflow.com/questions/1559925/c-sizeof-char-array

반응형