가변 배열 크기를 사용하는 C의 동적 배열 할당
동적 배열이라고도 하는 가변 크기 배열은 표준 C에서 문제를 제기합니다. . 다음 프로그램을 고려해보세요:
<br>int siz = 0;<br>int n = 0;<br>FILE* picture;</p> <p>picture = fopen("test.jpg", "r");<br>fseek(picture, 0, SEEK_END );<br>siz = ftell(사진);</p> <p>char Sbuf[siz];<br>fseek(그림, 0, SEEK_SET); //파일의 처음으로 이동<br>while (!feof(picture)) {</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">n = fread(Sbuf, sizeof(char), siz, picture); /* ... do stuff with the buffer ... */ /* memset(Sbuf, 0, sizeof(Sbuf)); */
}
위의 코드는 변수 siz에 의해 결정된 크기로 문자 배열을 할당합니다. 그러나 표준 C에서는 배열 크기가 상수여야 합니다. 이는 다음과 같은 질문을 제기합니다. 코드 컴파일을 허용하기 위해 어떻게 siz를 올바르게 선언할 수 있습니까?
안타깝게도 표준 C에는 가변 크기의 배열을 선언하는 직접적인 방법이 없습니다. 그러나 몇 가지 대안이 있습니다.
위 내용은 표준 C에서 가변 크기의 배열을 어떻게 선언할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!