목록포인터 (3)
모노산달로스의 행보
C programming - 동적 메모리 할당 리눅스 환경에서 네트워크 프로그래밍을 공부하기 위해서 C언어를 다시 복습해야 할 필요성을 느꼈습니다. 따라서 이번 기회에 배열부터 전처리기까지 내용들을 정리하겠습니다. 동적 메모리란? 프로세스의 메모리 구조는 위와 같이 4개로 구분됩니다. 그중에서 힙 영역은 프로그램이 실행되는 동안 동적으로 메모리를 할당할 수 있는 영역을 의미합니다. 힙 영역의 특징으로서 프로그래머가 요구할 경우 런타임 중에 동적 메모리 할당이 이루어집니다. 그렇다면 왜 동적 메모리 할당을 요청할까요? int array[5]; array[0] = 10, array[1] = 20, array[2] = 30; int array[2]; array[0] = 10, array[1] = 20, arr..
C programming - 문자열 포인터 리눅스 환경에서 네트워크 프로그래밍을 공부하기 위해서 C언어를 다시 복습해야 할 필요성을 느꼈습니다. 따라서 이번 기회에 배열부터 전처리기까지 내용들을 정리하겠습니다. 문자열이란? C언어에서 문자 상수(Character)란 작은 따음표 내에 포함된 하나의 문자를 의미합니다. 만약 여러개의 문자를 한 번에 표현하고 싶다면 어떻게 해야 할까요? 문자 상수를 여러개 저장하는 배열은 어떨까요? char array[] = {'A', 'B', 'C', 'D'}; 문자를 저장하는 배열을 만들었습니다. 배열의 요소인 A B C D 각각의 값에 접근하는 것이 가능합니다. 지금부터 공부할 문자열 또한 이러한 문자 배열과 동일하게 동작합니다. 우리는 이미 문자열(String)을 ..
C programming - 포인터 배열 리눅스 환경에서 네트워크 프로그래밍을 공부하기 위해서 C언어를 다시 복습해야 할 필요성을 느꼈습니다. 따라서 이번 기회에 배열부터 전처리기까지 내용들을 정리하겠습니다. 포인터와 1차원 배열 #include int main(void) { int array[3]={10, 20, 30}; int *p = NULL; p = array; printf("%x %x %x\n", p, p+0, &p[0]); printf("%x %x\n", p+1, &p[1]); printf("%x %x \n", p+2, &p[2]); printf("%d %d %d\n", *p, *(p+0), *(&p[0])); printf("%d %d\n", *(p+1), *&p[1]); printf("%d ..