C언어 공용체

2021. 6. 7. 13:23암호학/C언어

공용체 선언은 구조체와 별반 다를게 없습니다. 하지만 초기화는 다르죠.

공용체 선언을 보시면 단 하나만 초기화를 하고 있습니다. 메모리를 공용하기 있기 때문에 공용체의 제일 첫번째 멤버변수 "age"만 초기화가 가능합니다.

그래서 "age"에 20을 할당하는 모습입니다.

붉은 네모를 보시면 유니온을 사용한 모습을 보실 수 있습니다. 구조체와 별반 다를 건 없습니다.

다만 출력 값을 보시면 "age"를 사용하다가 "grade"를 사용하면 "age"의 값은 사라짐을 볼 수 있습니다.

그 이유는 위에 설명했듯이 메모리를 공유하기 때문에 하나를 사용하면 하나는 데이터가 사라짐을 보실 수 있습니다.

메모리 공유의 내용만 빼면 대부분 구조체와 동일합니다.

'암호학 > C언어' 카테고리의 다른 글

c언어 문자열 변수, 문자열 포인터 변수 차이  (0) 2021.12.23
c언어 spirntf 함수 printf sprintf 차이점  (0) 2021.07.14
c언어 / c++ for문(반복문) 차이점  (0) 2021.06.03
sha-1 알고리즘 코딩  (0) 2021.05.14
sha-1  (0) 2021.05.13