c++ 초보자가 걸려 넘어지는'값형, 바늘형, 참조형'
대상
c/c++를 통해if문장 등 제어문장 이해
지침이 어려울 것 같은데...
"*,&"같은 로고를 많이 봤는데 잘 모르겠어요...
이런 느낌 받으신 분들.
값형
이미지 1(메모리 값은 실제 2진수이지만 16진수로 생략됨)
어떤 사람들은 지침을 이해하기 어렵지만 많은 값형이 워낙 모호하기 때문에 간단하게 설명한다.(주소와 지침의 차이를 아는 사람은 건너뛰어도 괜찮을 것이다.)
프로그램에서 사용하는 모든 값은 그림 1처럼 메모리라는 물리 장치에 저장됩니다.
보시다시피 변수 i, f의 값은 같은 값 (0001) 이지만 프로그램 측에서 사용할 때 형식 정보를 제공합니다. 프로그램의 값은 int와flat와 다르다.
수치 유형 요약
이미지 1(메모리 값은 실제 2진수이지만 16진수로 생략됨)
어떤 사람들은 지침을 이해하기 어렵지만 많은 값형이 워낙 모호하기 때문에 간단하게 설명한다.(주소와 지침의 차이를 아는 사람은 건너뛰어도 괜찮을 것이다.)
프로그램에서 사용하는 모든 값은 그림 1처럼 메모리라는 물리 장치에 저장됩니다.
보시다시피 변수 i, f의 값은 같은 값 (0001) 이지만 프로그램 측에서 사용할 때 형식 정보를 제공합니다. 프로그램의 값은 int와flat와 다르다.
수치 유형 요약
포인터형
이미지 2
수치형에서는 생략되었지만, 메모리에는 주소마다 byte가 분배되어 있다는 표시가 있다.
현실에서 말하는 집(값)과 그 주소(주소)의 관계를 고려할 수 있다면 이해하기 쉬울 것이다.
그리고 그 주소값으로 유지되는 유형을 땡땡이 포인터라고 합니다.
(030은 이 주소에 저장된 변수 유형입니다.)
그림 2를 보면 변수 ip가 변수 i의 주소를 값으로 유지하고 있음을 알 수 있습니다.
포인터 선언
형(: 별표)// intを参照するポインタの宣言
int* ip; // intポインタ
지침형도 하나의 유형에 불과하기 때문에 지침의 지침을 발표할 수 있다.
포인터를 이중 포인터라고 합니다.int** ipp; // intのダブルポインタ
// ↑と同じ意味
using IntP = int*; // intポインタ型を定義
IntP* = ipp2; // intポインタ型のポインタ
인스턴스에서 주소 가져오기
&변수int i;
int* ip = &i;
포인터 값이 가리키는 주소에 존재하는 값을 가져옵니다
"* 포인터 변수"// i をポインタを通して i2 に代入。
int i;
int* ip = &i;
int i2 = *ip
참조 유형
참조 유형은 기본적으로 포인터와 마찬가지로 주소를 유지하는 유형입니다.
포인터는 참조 대상을 수정할 수 있지만 참조 유형은 초기화할 때만 참조 대상을 변경할 수 있습니다.그러니까 콘스트 바늘 모양의 물건.
또한 인코딩도 크게 다르다. 아래와 같다.
참조 유형 선언 및 대입
유형 & 변수 이름 = 참조 대상 변수
참조형은 초기화할 때만 대입할 수 있기 때문에 선언이나 구성원 초기화 시대입이 필요하다.int i;
int& ref = i; // &iとする必要はない。
참조 유형에서 값 가져오기
참조 변수(일반 변수와 동일만 설명)int i;
int& ref = i;
// 値取得時も *ref 等の特別な記述をする必要がない。
int i2 = ref;
역인용부호의 사용 방법
*(별표)
// intを参照するポインタの宣言
int* ip; // intポインタ
int** ipp; // intのダブルポインタ
// ↑と同じ意味
using IntP = int*; // intポインタ型を定義
IntP* = ipp2; // intポインタ型のポインタ
int i;
int* ip = &i;
// i をポインタを通して i2 に代入。
int i;
int* ip = &i;
int i2 = *ip
참조 유형은 기본적으로 포인터와 마찬가지로 주소를 유지하는 유형입니다.
포인터는 참조 대상을 수정할 수 있지만 참조 유형은 초기화할 때만 참조 대상을 변경할 수 있습니다.그러니까 콘스트 바늘 모양의 물건.
또한 인코딩도 크게 다르다. 아래와 같다.
참조 유형 선언 및 대입
유형 & 변수 이름 = 참조 대상 변수
참조형은 초기화할 때만 대입할 수 있기 때문에 선언이나 구성원 초기화 시대입이 필요하다.
int i;
int& ref = i; // &iとする必要はない。
참조 유형에서 값 가져오기
참조 변수(일반 변수와 동일만 설명)
int i;
int& ref = i;
// 値取得時も *ref 等の特別な記述をする必要がない。
int i2 = ref;
역인용부호의 사용 방법
*(별표)
'&'(빵 샌드위치)
다음 c++er로 가는 길
Reference
이 문제에 관하여(c++ 초보자가 걸려 넘어지는'값형, 바늘형, 참조형'), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/0htaka/items/abc0671455ec4ea8b0fc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)