> 백엔드 개발 > C++ > C 언어의 초기화되지 않은 배열 액세스 개념 설명

C 언어의 초기화되지 않은 배열 액세스 개념 설명

王林
풀어 주다: 2023-09-01 20:53:05
앞으로
1251명이 탐색했습니다.

C 언어의 초기화되지 않은 배열 액세스 개념 설명

Question

C언어에서 초기화되지 않은 배열을 사용하면 프로그램이 실행되나요?

Solution

  • 초기화되지 않은 배열을 사용하면 컴파일러는 컴파일 및 실행 오류를 생성하지 않습니다.

  • 어레이가 초기화되지 않으면 예측할 수 없는 결과가 발생할 수 있습니다.

  • 따라서 항상 기본값으로 배열 요소를 초기화하는 것이 더 좋습니다.

샘플 프로그램

다음은 초기화되지 않은 배열에 접근하기 위한 C 프로그램입니다 -

Live Demonstration

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

#include <stdio.h>

int main(void){

   int a[4];

   int b[4] = {1};

   int c[4] = {1,2,3,4};

   int i; //for loop counter

   //printing all alements of all arrays

   printf("</p><p>Array a:</p><p>");

   for( i=0; i<4; i++ )

      printf("arr[%d]: %d</p><p>",i,a[i]);

   printf("</p><p>Array b:</p><p>");

   for( i=0; i<4; i++)

      printf("arr[%d]: %d</p><p>",i,b[i]);

   printf("</p><p>Array c:</p><p>");

   for( i=0; i<4; i++ )

      printf("arr[%d]: %d</p><p>",i, c[i]);

   return 0;

}

로그인 후 복사

Output

위 프로그램을 실행하면 다음과 같은 결과가 나옵니다 -

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

Array a:

arr[0]: 4195872

arr[1]: 0

arr[2]: 4195408

arr[3]: 0

 

Array b:

arr[0]: 1

arr[1]: 0

arr[2]: 0

arr[3]: 0

 

Array c:

arr[0]: 1

arr[1]: 2

arr[2]: 3

arr[3]: 4

로그인 후 복사

Note

If 우리는 배열을 초기화하지 않았습니다. 기본적으로 가비지 값을 인쇄하고 오류를 표시하지 않습니다.

초기화되지 않은 배열에 접근하기 위해 다른 C 프로그램을 고려해보세요 -

Example

Live Demonstration

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

#include <stdio.h>

int main(void){

   int A[4];

   int B[4] ;

   int C[4] = {1,2};

   int i; //for loop counter

   //printing all alements of all arrays

   printf("</p><p>Array a:</p><p>");

   for( i=0; i<4; i++ )

      printf("arr[%d]: %d</p><p>",i,A[i]);

   printf("</p><p>Array b:</p><p>");

   for( i=0; i<4; i++)

      printf("arr[%d]: %d</p><p>",i,B[i]);

   printf("</p><p>Array c:</p><p>");

   for( i=0; i<4; i++ )

      printf("arr[%d]: %d</p><p>",i, C[i]);

   return 0;

}

로그인 후 복사

Output

위 프로그램이 실행되면 다음과 같은 결과가 나옵니다 -

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

Array a:

arr[0]: 4195856

arr[1]: 0

arr[2]: 4195408

arr[3]: 0

 

Array b:

arr[0]: -915120393

arr[1]: 32767

arr[2]: 0

arr[3]: 0

 

Array c:

arr[0]: 1

arr[1]: 2

arr[2]: 0

arr[3]: 0

로그인 후 복사

위 내용은 C 언어의 초기화되지 않은 배열 액세스 개념 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿