목록2024/04/05 (3)
그냥 게임개발자
배열의 이름 = 주소값이라는 소리를 어디선가 들어볼 수 있을 것이다. 이것을 Array to Pointer decay라고 한다. int a[N]라는 N개의 크기를 가진 변수가 있다. int *c = a; 이렇게 담을 수 있다? int[]와 int는 서로 다른 타입이다... 근데 담을 수 있다. ??? ㅇㅇ 담을 수 있어요 그래서 Array to Pointer decay라는 것이다. 포인터는 배열의 이름을 담을 수 있다...! 어떠한 Type[N]이 Type*로 담을 수 있다는 것이다. 이렇게 담을 때 int* c = a;일 때! a의 크기는 decay! 크기가 부식이 된다는 것이다! 그리고 a는 배열의 첫번째 주소가 바인딩이 된다. 이게 Array to Pointer decay라는 현상이다. 포인터의 배..
역참조 연산자라는 것은 #include using namespace std; int main() { int a = 10; int* b = &a; cout
포인터란? 0x00000..... 같은 주소를 담는 타입이 포인터다. 주소를 담는 타입 adress를 담는 Type int는 정수를 담지요? float는 실수를 담지요? pointer는 주소를 담는다 그것도 첫번째 바이트 주소를 가리킨다. 예를 들자 여기서 int라는 타입을 선언하게되면 메모리에 이렇게 담기게 된다. 그렇다면 int*는 무엇을 담는 것인가? 지금 int라는 타입을 처음 메모리에 할당할 때 처음 주소는 0x000000이다. 그렇게 해서 0x000000 ~ 0x000003까지 사용하는 것이다. 그러면 int*는 0x000000을 담는 즉 첫번째 byte주소를 담는 타입이다. 또한 포인터는 메모리 동적할당, 데이터를 복사하지 않으며 함수 매개변수로 사용, 클래스 및 구조체를 연결할 때 사용이 ..