memset 사용 시 주의할 점
2019. 7. 3. 11:49ㆍ알고리즘/암기
1바이트를 초과하는 변수를 memset 함수를 이용하여 초기화할 때 주의해야 한다
만일 int 변수를 memset에 10이라는 값을 초기화하고 싶어 memset(&a, 10, sizeof(a))라고 하면 10이라는 값은 한 바이트마다 들어가는 값이다
따라서 int는 4바이트기 때문에 0x0A0A0A0A라고 들어가게 된다. 단 -1과 0은 알맞게 들어간다
따라서 int 배열을 일정한 값으로 초기화하고 싶다면 algorithm 헤더파일에 있는 fill 함수를 사용하는 것이 올바른 방법이다
'알고리즘 > 암기' 카테고리의 다른 글
stack linked list로 구현하기 (0) | 2019.07.04 |
---|---|
동적할당된 배열 길이 구하기 (0) | 2019.07.04 |
에라토스테네스의 체 비트마스크로 메모리 줄이기 (0) | 2019.07.01 |
에라토스테네스의 체 범위 (0) | 2019.07.01 |
gcc/g++ 비트마스크에서의 집합의 크기와 최소 원소 (0) | 2019.07.01 |