char 배열뿐만 아니라 일반 배열도 마찬가지일 것 같다.
보통 char name[128]; 로 선언하고 초기화 할때 다음과 같은 방법을 사용한다.
1. name[0] = {0,};
2. memset(name, 0, sizeof(char) * 128);
아마 코딩의 간편함의 이유로 1번을 많이 사용할 것 같은데, 사실 내부적으로 원리는 같다.
어셈블리 코드를 보면 내부적으로 memset을 호출하고 있다.
VS2015 를 사용했으며, 컴파일러마다 차이는 있을 것 같다.
그렇다면, 1번방법에서 컴마(,) 를 안찍으면 어떻게 될까?
name[0] = {0};
똑같이 배열이 0으로 초기화가 된다.
어셈코드도 동일하다.
이것또한 컴파일러마다 차이가 있겠지만 아직까지는 관용상 1번 방법을 많이 사용하는듯 하다.
'프로그래밍 > C++' 카테고리의 다른 글
GetLastError() - 리턴코드 (에러값) (0) | 2017.01.06 |
---|---|
수치적분 사다리꼴 C 코드 (0) | 2016.10.05 |
printf 류 함수에서 int64 형 데이터 사용방법 (0) | 2016.09.22 |
C++11 스마트포인터 (0) | 2016.07.20 |
C++11 재정의규칙과 override (0) | 2016.07.11 |