목록프로그래밍 언어/C언어 (36)
나의 IT일지
파일이란 데이터를 담는 논리적인 단위로, 데이터값을 가지고 있는 내용부분과 그 파일을 구분할 수 있도록 이름을 붙히는 제목부분으로 나눠져 있다. 변수나 배열은 프로그램이 실행되는 동안만 데이터를 가지고 있어서 다루는 것이 힘들다. 그래서 이러한 파일을 IDE를 통해 파일로 저장, 호출이 가능한데, 이 기능을 가진 함수를 파일 입출력 함수라고 한다. 파일의 입출력은 다음과 같은 과정이 진행되어야 한다. 파일 구조체 포인터 변수 선언 파일 개방 및 모드 설정 후 포인터에 저장 파일 입출력 파일 폐쇄 파일 개방과 폐쇄 먼저, 파일을 입출력하기 위해서는 파일을 용도에 따라 열어야 한다. 이것을 파일 개방이라고 하는데, 보조기억장치에 있는 파일을 찾아내는 것을 말한다. fopen(컴퓨터 내의 파일 위치 , 개방 ..
우리는 코딩을 하면서 여러 데이터를 접하고, 사용하며, 변형하고, 출력한다. 특히 정수형, 실수형 데이터를 자주사용하게 되며, 이러한 정수형, 실수형 데이터를 문자로 변형해서 사용하는 경우가 있는데, 이때, 사용하는 방법이 열거형이다. 열거형 열거형이란 변수가 가질 수 있는 데이터의 값들을 선언하여 사용하는 것으로, 변수에 저장할 수 있는 정수 값을 기호로 정의하여 나열하는 자료형이다. 이러한 열거형은 변수에 상수나 수식을 저장한 뒤, 변하지 않는 값으로 만드는 심볼릭 상수(#define)와 많이 유사한 것을 볼 수 있다. enum 열거형명 {기호1, 기호2, 기호3..}; enum{기호1 = 값1, 기호2=값2, 기호3=값3....} 위의 구조는 열거형을 선언하는 방식으로, 기호에 매칭되는 값을 0부터..
구조체는 여러 자료형의 변수를 저장하여 만든 자료형으로, 변수마다 할당되는 저장공간이 존재한다. 이러한 변수는 정해놓은 필드를 토대로 값을 저장할 수 있는 형태이다. 그리고 구조체처럼 필드를 정해놨지만, 하나의 필드 값이 변하면 다른 필드 값이 변하는 자료형이 있는데, 이를 공용체라고 한다. 공용체 공용체란, 하나의 메모리공간을 여러개의 변수가 공용해서 사용하도록 만든 자료형으로, 해당 자료형을 통해 변수를 생성하면, 하나의 값으로 모든 필드의 값을 정할 수 있게 된다. 공용체 선언방법(필드 생성 방법) 공용체 변수 생성 방법 union 공용체명{ 자료형 변수명1;//필드1 자료형 변수명2;//필드2 ... } union 공용체명 변수명; 위는 공용체를 선언하는 방법과 변수를 생성하는 방법으로, 자료형과..
구조체는 여러 자료형을 가진 변수를 통해 만드는 자료형으로, 구조체 자료형으로 만든 변수를 구조체 변수이다. 이러한 구조체 변수는 정해진 필드 형태에 따라 여러 자료형의 데이터를 저장할 수 있는데, 데이터량이 적을경우 저장공간이 많이 남는경우가 발생한다. 저장공간은 하나의 데이터만 저장할 수 있기 때문에, 저장공간의 낭비가 발생한다. 그래서 우리는 필드의 저장공간을 정하는 방법에 대해서 알아야 한다. 비트필드 비트란 데이터의 최소단위로, 2진수로 표현된 데이터의 자릿수에 따라 비트의 값이 결정된다. 예를들어, 4의 2진수는 "100"이며 데이터로 저장될 때에는 3bit의 공간을 차지한다. 생성방법 struct 구조체명{ 자료형 변수명: 필요한 비트수; 자료형 변수명: 필요한 비트수; 자료형 변수명: 필요..
구조체란 여러가지 자료형을 가진 변수의 집합을 가진 틀로, 자료형으로 구분되며, 구조체형을 정의하고, 구조체 변수를 정의해서 사용한다. 구조체형 정의 구조체변수 정의 struct 구조체명{ 자료형 변수명1; 자료형 변수명2; }; struct 구조체명 변수명; 구조체 내 구조체 구조체변수는 변수이기에 구조체의 필드로 사용할 수 있다. 즉, 새로운 구조체에 다른 구조체를 넣어서 사용할 수 있다. 구조체 밖에서 구조체 정의 구조체 내에서 구조체 구현 struct 구조체1{ 자료형 변수명3; 자료형 변수명4; }; struct 구조체2{ 자료형 변수명1; 자료형 변수명2; struct 구조체1 구조체변수명 }; struct 구조체1{ 자료형 변수명1; 자료형 변수명2; struct 구조체2{ 자료형 변수명3;..
구조체는 여러 개의 자료형을 가진 변수를 모아놓은 자료형으로, 구조체형을 가지고 만든 변수는 일반 변수와 같이 메모리 주소를 가지고 있다. 따라서 포인터를 통해 구조체의 주소를 저장할 수 있다. 포인터란 주소를 저장하는 변수로, 주소를 통해 저장공간에 접근하기 위해서 사용된다. 구조체 포인터 구조체 포인터는 구조체와 포인터의 합성어로, 구조체 변수의 주소를 저장하는 변수를 말한다. 하지만 구조체 포인터는 일반 포인터나 배열포인터와 차이점이 존재한다. 일반 포인터나 배열 포인터는 변수, 배열의 주소를 저장하기 때문에 증감연산자로 변수를 호출하는 것이 가능하다. 하지만 구조체 포인터의 경우, 구조체형을 가진 변수의 주소이기에 증감연산자로 내용에 접근하는 것이 불가능하다. 즉, 구조체 변수에 연산자를 사용하면..