전체 글846 다차원 배열과 포인터, 다중 포인터 다차원 배열은 2차원 이상의 배열을 의미한다. 배열의 선언 방법 int arr[10]; // 길이가 10인 1차원 int형 배열 int arr2[5][5]; //행의 길이 5, 열의 길이 5인 2차원 int형 2차원 배열 int arr3[3][3][3]; //높이길이 3, 행의 길이 3, 열의 길이 3인 int형 3차원 배열 다차원 배열중 2차원 배열이 주로 쓰인다. int arr[3][4]; 위배열을 선언시 메모리 공간에는 다음과 같이 나타난다. [0][0] [0][1] [0][2] [0][3] [1][0] [1][1] [1][2] [1][3] [2][0] [2][1] [2][2] [2][3] 위 그림은 각각 요소에 접근할수 있도록하는 인덱스 값 을 나타낸 것이다. 즉 TYPE 배열이름[행][열]; 이.. 2021. 1. 30. 도전 프로그래밍 4-1, 4-2 //4-1 #define _CRT_SECURE_NO_WARNINGS #include #include typedef struct book { char title[30];//제목 char author[10];//저자 int npage;//페이지 수 }Book; int main() { Book books[3]; int i; printf("도서 정보 입력 \n"); for (i = 0; i < 3; i++) { printf("저자 :");fgets(books[i].author, 3, stdin); books[i].author[strlen(books[i].author) - 1] = 0; //엔터키제거 printf("제목 :");fgets(books[i].title, 3, stdin); books[i].title[.. 2021. 1. 29. 매크로와 선행처리기(Preprocessor) 1. 선행처리기와 매크로 -선행 처리는 컴파일 이전의 처리를 의미합니다. 선행처리는 선행처리기에 의해서, 컴파일은 컴파일러에 의해서, 그리고 링크는 링커에 의해서 진행이된다. 컴파일 이전에 선행처리의 과정을 거친다는 점에 주목을 해야한다. 컴파일 과정을 거치게 되면 바이너리 데이터로 이루어진 오브젝트 파일이 생성된다. 그렇다면 컴파일 이전에 진행되는 선행처리의 과정을 거치게 되면 어떠한 데이터로 채워진 파일이 생성되는가? 선행처리의 과정을 거쳐서 생성되는 파일도 그냥 소스파일일 뿐이다. 왜냐하면 소스파일의 형태가 그대로 유지되기 때문이다. 선행처리기가 하는 일은 지극히 단순하다. 우리가 삽입해놓은 선행처리 명령문대로 소스코드의 일부를 수정할 뿐인데, 여기서 말하는 수정이란 , 단순치환(substitu.. 2021. 1. 28. 메모리 관리와 메모리의 동적할당 1. C언어의 메모리 구조 프로그램을 실행하면 해당 프로그램의 실행을 위한 메모리 공간이 운영체제에 의해서 미리 마련이 된다. 그리고 바로 이 메모리 공간 내에서 변수가 선언되고, 문자열이 선언된다는 것이다. -메모리 구성 프로그램 실행시 운영체제에 의해서 메모리 구조는 다음과 같이 네개의 영역으로 구분이 된다. 메모리 공간을 나눠놓은 이유는 커다란 서랍자으이 수납공간이 나뉘어 있는 이유와 유사하다. 메모리 공간을 나눠서 유사한 성향의 데이터를 묶어서 저장하면, 관리가 용이해지고 메모리의 접근 속도가 향상된다. -메모리 영역별로 저장되는 데이터 유형 *코드 영역 (Code Area) 코드 영역은 이름 그대로 실행할 프로그램의 코드가 저장되는 메모리 공간이다. 따라서 CPU는 코드 영역에 저장된.. 2021. 1. 27. 문자와 문자열 관련 함수 1. 스트림과 데이터의 이동 -무엇이 입력이고 무엇이 출력인가? 데이터의 입력과 출력은 프로그램의 흐름을 뜻하는 것이다. 그렇다면 무엇이 '입력'이고 무엇이 '출력'인가? 프로그램을 중심으로 프로그램 안으로 데이터가 흘러 들어오는 것이 입력이고, 프로그램 밖으로 데이터가 흘러 나가는 것이 출력이다. 가장 대표적인 입력장치로는 키보드가 있으며, 파일도 입력의 대상이 될 수 있다. 그리고 대표적인 출력장치로는 모니터가 있으며, 파일 역시 출력의 대상이 될 수 있다. -데이터의 이동수단이 되는 스트림 서로 떨어져 있는 개체를 연결해주는 다리의 역할을 하는 매개체를 '스트림(Stream)'이라 한다. 실행중인 프로그램과 모니터를 연결해주는 '출력스트림'이라는 다리가 놓여있고, 실행중인 프로글매과 키보드를.. 2021. 1. 26. 파일 입출력 1. 파일과 스트림(Stream), 그리고 기본적인 파일의 입출력 -저기 저파일에 저장되어 있는 데이터를 읽고싶을때 프로그램상에서 파일에 저장되어 있는 데이터를 참조하길 원한다고(읽기원한다고) 할때, 이 때 가장 먼저해야 할일은 우리가 구현한 프로그램과 참조할 데이터가 저장되어 있는 파일 사이에 데이터가 이동할 수 있는 다리를 놓는 일이다. 이러한 데이터의 이동의 경로가 되는 다리를 가리켜 '스트림(Stream)'이라 한다. 프로그램과 파일사이에 스트림을 형성해야 데이터를 주고 받을 수 있다. 스트림이라는 것은 운영체제에 의해서 형성되는 소프트웨어 적인 상태를 의미하는 것일 뿐이다. 따라서 프로그램과 파일 사이에 스트림이 형성되었다고 하면 다음과 같이 이해하면 된다. "파일로 부터 데이터를 읽어 들일(파.. 2021. 1. 23. 이전 1 ··· 136 137 138 139 140 141 다음