C에서 char str[X]로 배열 정의를 하잖아요? 근데 X가 char형 수 표현범위에 걸리더라구요. 127을 넘어가면 오버플로우가 되서 sizeof연산자로 배열 str의 개수를 구할 때 X를 128로 정의하면 -128이 나오더라구요. 근데 X는 사실 배열의 개수를 정의하는 거라서 char하고는 상관없지않나요? 근데 왜 X가 char 표현범위에 걸리는 겁니까?