less than 1 minute read

  1. 포인터

결국 포인터가 가리키는 것은 시작주소 그게 변수가 되었든 함수가 되었든 구조체가 되었든

  1. 하드웨어 메모리 특정

하드웨어 메모리 주소 - 레지스터 32개의 범용 레지스터 64개의 IO 레지스터 그 외에 램 등등

하드웨어 메모리 특정 가능한 프로그래밍 언어는 C,C++

  1. C언어의 배열

c언어는 string이 없고 단순히 char의 배열 그때 배열의 크기를 고정으로 하지 않고 동적으로 관리하고 싶은 경우 malloc 함수 사용

  1. 메모리 참조

어떤 함수에서 계산을 하였고 그 값을 리턴한다는 가정하에, 계산의 값이 2개 이상인 경우를 생각해보자. 함수는 단 하나의 값을 리턴한다. 2개의 값을 리턴할 수는 없다. 그 경우 결과 값을 포인터 변수에 저장한다. 함수가 종료된 이후에도 결과 값이 저장된 포인터 함수는 변화가 없다. 주소로 처리를 해야한다.

  1. 구조체 사용

구조체는 하나의 새로운 타입이다. 다양한 타입의 변수들을 모아서 struct 연산자로 생성한다 함수에 param 으로 여러개의 변수를 넘기기보다 구조체를 통해서 한 번에 넘기는게 편하다. 그러나 구조체 변수명 자체를 넘길 수는 없다. 그때 변수에 대한 주소를 넘긴다. 물론 함수의 param 도 포인터변수를 받는 형태로 바꾼다 그 후 계산에 사용되는 (기존)변수들의 형변환을 시켜준다. 그게 귀찮으면 arrow 연산자를 사용한다.

Tags: ,

Categories:

Updated: