반응형

포인터 2

[C++] 포인터 기초 2 - 포인터 배열

포인터와 배열의 관계 일반 배열을 나타낼 때에는 다음과 같이 작성합니다.int ary[5] = { 1, 2, 3, 4, 5 }; // 일반 배열 이때 배열 변수의 이름, 즉 ary는 ary의 첫번째 요소의 주소를 가진 포인터와 같습니다. 따라서 다음과 같은 결과가 나타납니다.int ary[5] = { 1, 2, 3, 4, 5 };printf("%d", *ary); // 1을 출력합니다 포인터는 +/- 연산이 가능한데, 일반적인 +/-연산과 다르게 포인터의 +/- 연산은 데이터 형식의 크기를 기준으로 계산합니다.char chs[5] = { 'A', 'B', 'C', 'D', 'E' };printf("%p / %p\n", chs, (chs + 1));// chs 주소와 chs+1 주소의 차이는 char의 크..

C | C++/Basic 2025.01.25

[C] 포인터 기초 1 - 간접 연산자(*)와 주소 연산자(&)

간접 연산자(*)와 주소 연산자(&)포인터 변수는 어떤 변수가 데이터가 저장된 주소를 가리키는 변수입니다. 간접 연산자(*)는 변수의 선언에서 사용될 때와 아닐 때의 작동 방식이 다른데변수의 선언에서 간접 연산자는 해당 변수가 포인터 변수라는 것을 명시하는 표시이고변수의 선언이 아닐 때의 간접 연산자는 주소를 해당 데이터로 변환해주는 기능을 합니다. 주소 연산자(&)는 어떤 변수가 저장된 주소를 반환하는 연산자입니다.따라서 아래와 같이 간접 연산자와 주소 연산자는 같이 쓰는 것이 일반적입니다.int number = 123;int *number_ptr = &number;// number_ptr은 정수형 포인터 변수임을 명시하고 number의 주소를 저장합니다.// 따라서 number와 *number_ptr..

C | C++/Basic 2022.06.18
반응형