| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 | 
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 
| 16 | 17 | 18 | 19 | 20 | 21 | 22 | 
| 23 | 24 | 25 | 26 | 27 | 28 | 29 | 
| 30 | 
- this참조변수
 - 변수
 - 자바코드
 - 코딩독학
 - 1차원배열
 - 증감연산자
 - 포인터연산자
 - 포인터
 - 반복문
 - 자바
 - 제어문
 - C++코딩
 - 조건문
 - 비트연산자
 - 메서드오버로딩
 - 고정소수점
 - Java
 - 부동소수점
 - 자바클래스
 - C++상수
 - 코딩
 - 클래스선언
 - 자바메서드오버로딩
 - 기초코딩
 - 프로그래밍
 - C++
 - 산술연산자
 - 2차원배열
 - 코딩기초
 - 자바코딩
 
- Today
 
- Total
 
지식아일랜드
코딩 기초 16편 _ C++ sizeof 연산자와 포인터 연산자(point operator)에 대해서 본문
안녕하세요?
지식아일랜드의 모르는게 없는 지식인 입니다.
오늘은 C++ 코딩의 기타 연산자 중 sizeof 연산자와 포인터 연산자에 대해 설명드리겠습니다.

sizeof 연산자
아래는 sizeof 연산자를 이해하기 위한 C++ 코드 예시 입니다.
#include <iostream>
using namespace std;
int main() {
int intArray[5];
double doubleVar;
char charVar;
cout << "Size of intArray: " << sizeof(intArray) << " bytes" << endl;
cout << "Size of doubleVar: " << sizeof(doubleVar) << " bytes" << endl;
cout << "Size of charVar: " << sizeof(charVar) << " bytes" << endl;
return 0;
}
위 코드에서는 세 개의 변수를 선언하고, sizeof 연산자를 이용하여 각 변수의 크기를 출력하고 있습니다.
intArray는 5개의 int형 원소를 가지는 배열이므로, sizeof(intArray)는 5*sizeof(int)와 같아서, 출력 결과는 20이 됩니다.
doubleVar와 charVar는 각각 double과 char형 변수이므로, sizeof 연산자를 이용하여 각각 8과 1이 출력됩니다.
sizeof 연산자는 변수나 데이터 타입의 크기를 반환하는 연산자입니다.
이 연산자는 컴파일 시간에 평가되며, 주어진 변수나 데이터 타입의 크기를 반환합니다.
따라서, sizeof 연산자를 이용하여 메모리 사용량을 계산하거나, 배열의 크기를 계산하는 등의 용도로 사용될 수 있습니다.
위 코드를 실행하면 아래와 같은 출력 결과를 얻을 수 있습니다.
Size of intArray: 20 bytes
Size of doubleVar: 8 bytes
Size of charVar: 1 bytes
위 예제에서는 sizeof 연산자가 어떻게 사용되는지와 각 변수의 크기가 어떻게 계산되는지를 보여주고 있습니다.
따라서, C++에서 sizeof 연산자를 이용하여 변수나 데이터 타입의 크기를 계산할 때 유용하게 사용될 수 있습니다.
포인터 연산자(pointer operator)
포인터 연산자는 메모리 주소에 대한 작업을 수행하는 연산자로, 주로 동적 할당된 메모리를 다룰 때 사용됩니다.
아래 코드는 포인터 변수를 생성하고, 그 변수를 통해 메모리 주소를 출력하는 간단한 예시 코드 입니다.
#include <isotream>
using namespace std;
int main() {
int x = 10;
int* ptr = &x;
cout << "x의 값: " << x << endl;
cout << "x의 주소: " << &x << endl;
cout << "ptr이 가리키는 주소: " << ptr << endl;
cout << "ptr이 가리키는 값: " << *ptr << endl;
return 0;
}
위 코드에서는 먼저 'int'형 변수 'x'를 생성하고, 이 변수의 값을 '10'으로 초기화 합니다.
그리고 'int'형 포인터 변수 'ptr'을 생성하고, '&x'를 이용해 'x'의 메모리 주소를 'ptr'에 저장합니다.
그 후에는 'cout'을 이용해 'x'의 값, 주소 'ptr'이 가리키는 주소, 'ptr'이 가리키는 값 등을 출력합니다.
이 떄 '*'연산자를 이용해 포인터 변수가 가리키는 값을 가져올 수 있습니다.
위 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.
x의 값: 10
x의 주소: 0x7ffd85d1f51c
ptr이 가리키는 주소: 0x7ffd85d1f51c
ptr이 가리키는 값: 10
위 결과에서는 'x'의 값이 '10'이고, 'x'의 메모리 주소는 '0x7ffd851f51c' 임을 확인할 수 있습니다.
또한, 'ptr'이 가리키는 값은 'x'의 값인 '10'이라는 것을 알 수 있습니다.
이와 같이 포인터 연산자를 이용하면 동적 할당된 메모리를 효율적으로 다룰 수 있습니다.

오늘은 C++ 코딩의 기타 연산자에 대해 설명드렸는데요
어떠셨나요? 이해가 잘 되셨나요? ㅎㅎ
오늘 배운 것처럼 siozeof 연산자와 포인터 연산자를 잘 이용해 C++ 프로그래밍을 하시길 바랍니다.
'C++ 기초' 카테고리의 다른 글
| 코딩 기초 18편 _ C++ 코딩 제어문 조건문(if, if/esle) 설명과 예제 코드 (0) | 2023.04.19 | 
|---|---|
| 코딩 기초 17편 _ C++ 범위 지정 연산자와 멤버 포인터 연산자 예제 코드 및 설명 (0) | 2023.04.18 | 
| 코딩 기초 15편 _ C++ 삼항 연산자(Ternary operator)와 컴마 연산자(Comma operator) (0) | 2023.04.16 | 
| 코딩 기초 14편 _ C++ 비트 연산자(Bitwise operator)의 종류와 예제 (0) | 2023.04.15 | 
| 코딩 기초 13편 _ C++ 대입 연산자(Assignment Operator)와 증감 연산자(Increment and Decrement Operator) (0) | 2023.04.12 |