본문 바로가기

c언어3

[C언어세션][포인터와배열]포인터와 배열의 관계, 포인터 연산, 상수형태의 문자열,포인터 배열 포인터에 대한 이해가 충분히 이루어졌다면, 포인터와 배열 사이의 관계를 살펴보자. 포인터와 배열의 관계? 우리가 앞서 배열을 배워 본 적이 있다. 근데 왜 갑자기 포인터를 배우다가 배열을 다시 언급하는걸까? 왜냐하면 배열은 주소값이기 때문이다.! 배열의 이름은 배열의 시작 주소값을 의미한다. 다음 예제를 통해 더 자세히 살펴보자. #include int main(void){ int arr[3]={ 0, 1, 2 }; printf("배열의 이름: %p\n", arr); printf("첫 번째 요소: %p\n",&arr[0]); printf("두 번째 요소: %p\n",&arr[1]); printf("세 번째 요소: %p\n",&arr[2]); } 결과를 실행해보면, 배열의 이름: 0012FF50 첫번째 요.. 2020. 5. 31.
[C언어세션][포인터] 포인터란, 포인터 연산자( * , &), 포인터형 이번 시간에는 포인터에 대해 배워보겠다. C언어에서는, 포인터를 이용하면 메모리에 직접 접근이 가능하다! 포인터 변수란? 포인터를 잘 이해하기 위해서는 이렇게 메모리 공간을 그림으로 그려가면서 공부해야한다. num1의 메모리 주소 값은 008F7FC이다. 1바이트의 메모리 공간을 단위로 하나의 주소값이 할당된다. 이것도 저장가능한 값이고, 이를 저장하기 위해 마련한 변수가 "포인터 변수이다". char형 변수는 1바이트만 필요로 한다. 해당 1바이트가 차지하는 메모리 주소에 할당되어있다고 하면 된다. 하지만 int형 변수는 어떨까? int형 변수는 4바이트다. 하지만 C언어에서는 시작 위치만 이야기한다. int 형 변수 num이 0xl2ff76번지에 할당되어있다고 하면, 실제론 0xl2ff76부터 0xl.. 2020. 5. 25.
[C언어세션][함수] 함수 정의 및 선언, 지역변수 및 전역변수, static 변수, register 변수, 재귀함수 세션시간에는 C언어 내용중에서도 가장 기초적인 내용만을 다룬다. 세션원들 각자 수준에 맞게 공부할 수 있도록, 세션시간에는 언급하지 못한, 좀 더 깊이 있는 내용을 블로그에 작성하고자 한다. 그래서 앞으로 남은 함수, 포인터, 동적할당, 구조체에 대한 구체적인 내용은 블로그에 업로드할건데 세션원들께서 각자 읽으셨으면 한다! 그리고 내가 열심히 작성한 내용인만큼 많이 많이 읽으셨으면 한다! (쓰는데 자그마치 3시간 걸림) 함수란? C언어에서의 핵심은 '함수'라고 할 수 있다. 함수를 잘 구성하고 활용하는 능력이 곧 프로그래밍 능력이라고 할 수 있다. 우리가 지금까지 써온 int main()도 함수라고 앞서 설명한 적 있는데, 이번 시간에는 이런 int main()과 같은 함수들이 어떠한 역할을 하는지(사용.. 2020. 5. 16.