포인터는 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
- The Economist Espresso
- Python
- leetcode
- 안드로이드
- I2C
- 리트코드
- 파이썬
- 티스토리챌린지
- ml
- join
- The Economist
- 오블완
- Android
- vertex shader
- 투 포인터
- Hash Map
- min heap
- 딕셔너리
- Computer Graphics
- C++
- 소켓 프로그래밍
- tf-idf
- DICTIONARY
- 머신 러닝
- java
- defaultdict
- 이코노미스트
- socket programming
- 이코노미스트 에스프레소
- machine learning
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |