일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- OOP
- array
- 함수
- predictive analysis
- programming
- 반복문
- 포인터
- raw data
- Object Oriented Programming
- string
- Pre-processing
- function
- 알고리즘
- vscode
- 백준
- Python
- 파이썬
- 문자열
- assignment operator
- 배열
- C++
- Class
- Deep Learning
- pass by reference
- const
- baekjoon
- pointer
- 티스토리챌린지
- 오블완
- Data Science
- Today
- Total
목록C++ (30)
Channi Studies
C++에서 함수는 포인터들도 리턴할 수 있습니다. 그러한 함수들은 type *funcion(); 의 형태로 선언됩니다. 한가지 중요한 점은 '절대로 함수 내의 로컬 변수를 리턴하지 않는다.' 입니다. 간단한 예시 코드를 살펴보겠습니다. int *largest_int(int *int_ptr1, int *int_ptr2){ if (*int_ptr1 > *int_ptr2) return int_ptr1; else return int_ptr2; } 두개의 정수 포인터를 비교하여 더 큰 값의 정수의 포인터를 반환합니다. 이 함수를 사용하는 메인 함수의 예시는 다음과 같을 수 있습니다. int main() { int a {30}; int b {40}; int *largest_ptr{nullptr}; largest_p..
C++의 포인터는 Assignment Expressions (대입 표현식) Arithmetic Expressions (산술 표현식) Comparison Expressions (비교 표현식) 에서 사용이 가능합니다. 포인터에 대한 다양한 연산(산술)이 가능합니다. 다음은 포인터에 적용 가능한 몇가지 연산들입니다. (++) 포인터의 값을 증가시켜 배열의 다음 요소를 가르키도록 합니다. int_ptr++; (--) 포인터의 값을 감소시켜 배열의 이전 요소를 가르키도록 합니다. int_ptr--; (+) 포인터의 값을 n * sizeof(type) 만큼 증가시킵니다. int_ptr += n; or int_ptr = int_ptr + n; (-) 포인터의 값을 n * sizeof(type) 만큼 감소시킵니다. i..
포인터의 선언은 다음과 같은 구조로 진행됩니다. variable_type *pointer_name; asterisk(*)만 없어지면 변수와 동일합니다. 예시 int *int_ptr; double *double_ptr; char *char_ptr; string *string_ptr; 하지만, 중요한 것은 선언과 동시에 초기화를 해 주어야 합니다. 초기화를 하지 않으면 포인터에 쓰레기 주소 데이터가 들어있게 됩니다. 초기화까지 한다면 다음과 같이 됩니다. variable_type *pointer_name {nullptr}; 예시 int *int_ptr {}; double *double_ptr {nullptr}; char *char_ptr {nullptr}; string *string_ptr {nullptr};
Pointer Pointer는 변수입니다. 변수의 구성 요소는 메모리상 위치, 변수 타입, 그리고 값을 가집니다. 포인터는 다른 변수나 함수의 주소를 저장하는 변수입니다. 이게 무슨 뜻이냐면, 변수의 '값' 에 해당하는 부분이 다른 대상의 메모리상 주소라는 것 입니다. 예를 들어 int x {10}; 으로 정수 변수 x를 선언하고 10을 할당했다면, 변수 x를 가르키는 다른 포인터를 선언할 수 있습니다. 그렇다면, 포인터는 왜 사용할까요? 포인터가 이미 존재하는 변수를 가르키는 변수라면, 그냥 원래의 변수를 사용하면 되는거 아닐까요? 포인터 사용의 이유 위의 질문을 이어서 이유를 설명하겠습니다. 맞습니다. 원래의 변수를 직접 사용하면 문제가 없습니다. 하지만, 우리는 종종 프로그램 속에서 복잡한 구조로 ..