본문 바로가기

프로그래밍/C++

char 배열 초기화 방법

 

 

 

 

char 배열뿐만 아니라 일반 배열도 마찬가지일 것 같다.

 

보통 char name[128]; 로 선언하고 초기화 할때 다음과 같은 방법을 사용한다.

 

1. name[0] = {0,};

 

2. memset(name, 0, sizeof(char) * 128);

 

아마 코딩의 간편함의 이유로 1번을 많이 사용할 것 같은데, 사실 내부적으로 원리는 같다.

 

 

 

어셈블리 코드를 보면 내부적으로 memset을 호출하고 있다. 

 

VS2015 를 사용했으며, 컴파일러마다 차이는 있을 것 같다.

 

그렇다면, 1번방법에서 컴마(,) 를 안찍으면 어떻게 될까?

 

name[0] = {0};

 

똑같이 배열이 0으로 초기화가 된다.

 

어셈코드도 동일하다.

 

이것또한 컴파일러마다 차이가 있겠지만 아직까지는 관용상 1번 방법을 많이 사용하는듯 하다.

 

 

 

 

 

https://play.google.com/store/apps/details?id=yeolddung.subway

 

초간단지하철 - 수도권 실시간 도착정보 - Google Play 앱

실시간 지하철 도착·위치를 가장 빠르게 확인할 수 있습니다.

play.google.com