카테고리 없음
[C언어] sizeof 연산자
s뽈록이s
2013. 5. 3. 09:51
void main() { // pInt = (int *)malloc(sizeof(int)); int i = 0; printf("int = %d\n", sizeof(int)); printf("double = %d\n", sizeof(double)); printf("i = %d\n", sizeof(i)); printf("string = %d\n", sizeof("string")); }
프로그램 실행화면
sizeof 연산자라는 놈이 있다. 이 녀석의 역할은 이름을 보면 알 수 있듯이 사이즈를 알 수 있게 해준다. 단위는 바이트 단위이다.
int는 4바이트 double은 8바이트의 사이를 가지고 있는 것을 알 수 있다. 그리고 string 배열은 7글자이니 7바이트의 크기를 가지고 있다. sizeof는 언제 사용하게 되는 것일까?
malloc()이라는 동적할당을 해주는 녀석이 있다. 포인터를 선언하고 포인터의 크기를 넣어 줄 때(메모리 할당) 사용하는 함수이다. 이 떄 사용하게 된다.
주석 처리된 부분이 바로 그부분이다. int하나의 크기 만큼 메모리를 할당해 주고 있다. 여기서 배열로 선언하고 길이를 10만큼 하고 싶다면 sizeof(int) * 10을 하면 된다.
동적 할당이 왜 필요하냐고 생각할 수도 있다. 그것은 숙제(?)로 남기겠다. 왜 써야 하는지 알게 되었다면 초급에서 벗어났다고 할 수 있다.