포인터는 C와 C++를 비롯해 많은 프로그래밍 언어에서의 기본 개념으로, 메모리 주소에 직접 접근을 제공해 동적 메모리 관리르 가능하게 하며 기타 기능을 제공한다. 그러나 이러한 기능에는 잠재적인 함정이 있다. 포인터 사용의 장점과 단점을 알아보자. 1. 장점 동적 메모리 할당 : (malloc(), calloc(), new 등) 동적 메모리 할당이 가능하며, 이는 애플리케이션의 필요에 따라 런타임 중에 메모리를 할당할 수 있음을 의미한다. 이건은 linked list, tree, graph와 같은 많은 데이터 구조에 필수적이다. 효율성 - 추가로 다룰 예정 : 프로그램의 실행이 더 효율적으로 될 수 있다. 메모리에 직접 접근하면 (데이터를 복사하는 대신) 특정 작업을 더 빠르게 수행할 수 있다. 유연성..
Pointer (포인터)는 다른 변수의 메모리 주소를 보유하는 변수로 * 기호를 사용해 선언한다. // 선언 int *p; // int에 대한 포인터 p // 초기화 및 역참조 int x = 10; *p = &x; // p가 x의 주소를 보유 int value = *p; // value 변수는 *p를 역참조해 이제 10 이라는 값을 보유 // 재할당 int y = 20; p = &y; // p는 이제 y를 가리킴 // Null 포인터 int *q = nullptr; Reference (참조)는 이미 존재하는 변수에 대한 별칭(alias) 또는 다른 이름이다. 포인터처럼 별도의 메모리 주소는 없지만, 참조하는 변수의 주소를 공유한다. &를 사용해 선언하지만 포인터와는 다른 의미를 갖는다. // 선언 int..
C++에서 포인터는 다른 변수의 주소를 담고 있는 변수다. 이 주소를 통해 포인터가 가리키는 변수의 값에 액세스하고 수정할 수 있는데, 이를 "역참조 (Dereferencing) "라고 한다. 이는 "참조를 통해 (Call by reference) " 변수에 액세스하고 변경하는 방법을 제공한다. 즉, 포인터를 통해 변경한 내용이 원래 변수 자체에 반영된다. 이는 함수에서 포인터를 사용하는 경우에도 마찬가지이며, 함수에서 포인터 매개변수를 통해 변수를 변경하면 함수가 반환된 후에도 원래 변수에 영향을 미친다. #include int main() { int x = 4; // Declares an integer variable x and initializes it with the value 4. int *pt..
- Total
- Today
- Yesterday
- tf-idf
- defaultdict
- 오블완
- vertex shader
- 소켓 프로그래밍
- Python
- 투 포인터
- Computer Graphics
- 파이썬
- Android
- 이코노미스트 에스프레소
- machine learning
- 이코노미스트
- min heap
- C++
- 리트코드
- DICTIONARY
- java
- I2C
- ml
- Hash Map
- 티스토리챌린지
- The Economist
- 딕셔너리
- join
- socket programming
- 머신 러닝
- leetcode
- 안드로이드
- The Economist Espresso
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |