Pointer
포인터 변수
- 메모리 주소만 가리키는 변수
- *변수명
#include <iostream>
int main()
{
int a(10);
int b(20);
// 포인터 변수는 무조건 "주소만" 저장한다,
// 일반 값을 저장할 수 없음
//즉, *의 갯수에 따라서 포인터 변수의 성질이 달라짐
int *pa = &a;
int **ppa = &pa;
int ***pppa = &ppa;
*pa = 100; //a의 값이 100으로 변경. *pa => a와 동일
std::cout << *pa << std::endl; // 100
*ppa = &b; // *ppa => pa와 동일
std::cout << *ppa << std::endl; // ppa 포인터 주소
**ppa = 100; //b의 값이 100으로 변경. **ppa => b와 동일
std::cout << **ppa << std::endl; // 100
***pppa = 1000; // b의 값이 1000으로 변경. ***ppa => b와 동일
std::cout << ***pppa << std::endl; // 1000
}
✅ C++ 값 대입시 고려사항
//1. 변수 선언과 값의 대입을 동시에하여 초기화 시킴
const int a = 10;
//2. 해당 스타일로 선언해도 되지만, C언어 스타일이라 비추천
int hello = 0;
// 2방법으로 작성하면,컴파일 단계에서 아래외 같은 C++스타일로 변환하는 과정이 진행됨
int hello(0); // 자동으로 형변환
int hello{0}; // 형변환 안됨. 명확한 값을 처리 시 사용.
반응형
'D.evelop > C++' 카테고리의 다른 글
[C++] 구조체와 클래스 (0) | 2024.11.23 |
---|---|
[C++] 함수의 정의와 호출 (0) | 2024.11.09 |
[C++] 기초 문법 (1) | 2024.09.28 |
댓글