Notice
Recent Posts
Recent Comments
공부중
[C/C++] 배열 안에 자료형 크기가 다른 값으로 채우기 본문
반응형
제목을 뭐라고 지을까 하다가 좋은 이야기가 떠오르지 않아서 이렇게 써보았다.
오늘 많은? 일들이 있었지만 특히 생각나는게..
내가 겪었던 문제와 100% 일치하지는 않지만(완전 똑같지는)
결국에는 그 짧은 당시에는 이 방법이 떠오르지 않아서? 안떠오르면 모르는게 맞지... ㅠ
일단 써보려고 한다.
unsigned int value = 0xFF55AA00;
char foo[4];
일단 unsigned int형인 value의 값을 char 배열에 모두 넣고싶었다.
unsigned int value = 0xFF55AA00;
char foo[4];
foo[0] = value;
그때 무슨 정신머리였는지 나는 위와같은 코드를 짜버렸고... 후....
당연히 foo[1] foo[2] foo[3]에 값은 들어가 있지 않았다.
그래서 지금 와서 다시 생각을 해본 결과
unsigned int value = 0xFF55AA00;
char foo[4];
foo[0] = value;
foo[1] = value >> 8;
foo[2] = value >> 16;
foo[3] = value >> 24;
이런 방식으로 일일히 넣어줄수도 있고
뭔가 일일히 넣는것이 조금 거시기해보여서 아래와 같은 코드도 짜 버렸다
unsigned int value = 0xFF55AA00;
char foo[4];
unsigned int* temp = (unsigned int*)foo;
*temp = value;
포인터의 형변환을 해서 값을 넣어주었다.
일단 이게 의도하신 정답인지는 모르겠지만
더 좋은 방법이 있다면 글을 업데이트 해볼 생각이다.
반응형
'Programing > C, C++' 카테고리의 다른 글
[C++] std::sort 사용시 invalid comparator가 발생한 경우. (0) | 2024.01.21 |
---|---|
[VC++]권한이 필요한 프로세스를 생성할 경우. (0) | 2022.09.25 |
[MSVC]public 생성자를 만들었음에도 불구하고 링크에러가 나는 경우 (0) | 2021.05.24 |
[C/C++]유니코드로 콘솔출력 또는 파일출력이 동작하지 않는 경우.. (0) | 2021.05.02 |
[MSVC]디버깅중 외부코드 표시 (0) | 2021.04.21 |