STUDY/자료구조

[C로 배우는 자료구조] C언어에서의 포인터, 배열, 그리고 포인터 연산

23g 2022. 2. 27.

자료구조 첫 글!

먼저 강의를 듣고

복습 겸으로 요약해서,

공부한 것들을 업로드 할 예정이다.

처음 올리는 글도 아니면서

어떻게 써야 할 지 모르겠는 것은 왜그럴까,,,>///<

하다보면 발전하겠지?!

 

[메모리]

모든 변수는 주소를 가짐

정수형 int는 4byte를 차지함

 

[포인터]

포인터(pointer)는 메모리 주소를 값으로 가지는 변수

type-name * variable-name;

연산자 &는 변수로부터 그 변수의 주소를 추출하는 연산자

[포인터와 배열]

*a와 a[0]은 동일한 의미이다. 
또한 a[1]은 *(a+1)과 동일하고, a[i]는 *(a+i)와 동일

[동적 메모리 할당]

malloc 함수를 호출하여 동적메모리할당을 요청하면

요구하는 크기의 메모리를 할당하고 그 시작 주소를 반환

  • malloc 쓰려면 #include <stdlib.h> 써야함

동적으로 할당된 배열은 공간이 부족할 경우 더 큰 배열을 할당하여 사용할 수 있다.

  • array 포인터로 선언했을 때는 수정 가능 배열로 선언하면 수정 불가능

->포인터로 선언 시 :  array = tmp; 가능 / 

   배열로 선언 시 :  array = tmp; 불가능

 

들을 때는 굉장히 유익하게 들었는데

막상 정리해보니까 너무 간결하고 단순해보이는..!!! ㅠㅠ

잘 정리한게 맞나 ㅎ 앞으로 더 노력해보야겠다!

댓글