공용체란 동일한 기억장소에 여러 유형의 자료를 저장하기 위해서 프로그래머가 선언한 자료형을 말합니다.이 때 공용체 안에 포함된 자료들은 같은 기억장소를 공유합니다.사용될 자료의 자료형이 유동적일 경우 공용체를 사용하 기억공간을 효율적으로 사용할 수 있습니다. 공용체는 멤버들이 완전히 다른 자료형을 가질 때 기억공간을 절약하기 위해 사용하는 이러한 예시로는 급여관리 프로그램을 들 수 있습니다. 글로벌회사에서 한국인은 원하로 월급을 받을 것이고 외국인은 달러로 월급을 받을 것입니다. 이 때 원하는 정수형으로 처리해야하고 달러는 실수형으로 처리해야합니다. 따라서 자료형이 달라지기 때문에 공용체를 사용하면 필요에 따라 메모리의 자료형을 선택하여 값을 저장하는 것이 가능합니다.1. 공용체의 정의1) 정의형식은 아..
1. 구조체의 개념구조체란 서로 다른 자료형을 갖는 자료들의 모임을 하나의 자료형으로 정의하여 사용하는 자료형입니다.즉 구조체란 사용자 정의 자료형이라고 할 수 있습니다. 이러한 구조체의 장점으로는 다양한 형식의 자료를 간결한 형식으로 표현가능하다는 것과 사용자가 새로운 형식을 정의하여 사용할 수 있다는 것입니다.1) 구조체의 필요성예컨대 10대의 차량에 대한 자료처리의 경우 기존 자료형만으로는 아래처럼 코드가 구성됩니다.charcar1_maker[15];longintcar1_km;longintcar1_cost;charcar2_maker[15];longintcar2_km;long int car2_cost;…charcar10_maker[15];long int car10_km;longintcar10_cost..
1. 포인터의 개념포인터란 변수의 일종입니다. 그러나 특정 데이터값을 가지고 있는 변수와 다르게 포인터는 특정 데이터가 저장된 기억장소의 주소(번지)값을 가지고 있습니다. 따라서 포인터는 기억공간을 변수명으로 접근하지 않고 주소로 접근하기 위해서 사용합니다. 일반적으로 변수에 데이터를 저장할때는 먼저 선언을 하면서 기억공간이 할당되고 할당된 기억공간에 데이터가 저장됩니다. 이때 할당된 기억공간은 주소(번지)가 부여되어 있습니다.따라서 주소를 이용하여 변수와 동일한 작업이 가능한데 이것이 포인터를 사용하는 것입니다. 이를 위해서는 주소값(포인터값)을 다룰 수 있는 변수가 필요하며 이 변수를 포인터 변수라고 합니다. 먼저 변수의 주소를 확인해 보겠습니다.#include void main() { int da..
1. 배열의 정의동일한 자료형을 갖는 자료들의 리스트이며, 배열의 각 요소는 하나의 변수로 취급합니다.그리고 배열은 배열명과 첨자로 구분합니다.2. 배열의 선언 형태배열의 차원은 첨자의 개수로 표현할 수 있습니다. 첨자란 []를 의미하며 예컨대 A[]는 1차원 배열이라고 할 수 있습니다.따라서 2차원 배열은 A[][]이 됩니다. 배열의 각 요소는 배열명과 첨자로 구분되며 첨자는 0부터 시작합니다. 이때 배열의 각 요소는 배열명과 첨자로 구분하는데 배열을 선언하기 위해서는 자료형을 선언해줘야 하며, 기억클래스를 갖습니다. 배열을 선언하는 방식은 아래형태로 선언합니다.자료형 배열명[개수] //1차원 배열자료형 배열명[행의수][열의수] //2차원 배열자료형 배열명[면의수][행의수][열의수] //3차원 배열 예..
1. 매개변수 사이의 자료전달 방법1) 값의 의한 자료전달기본적인 자료전달 방법이며, 실매개변수와 형식매개변수 사이에 값을 전달합니다. 그러나 호출한 함수의 실행이 끝난 다음 전달받은 값을 리턴받지는 못합니다. 예제)#include void swap(int x, int y);void main() { int a = 3, b=5; printf("호출전 a = %d, b= %d\n", a, b); //출력: 호출전 a = 3, b= 5 swap(a,b); // 함수 호출(실 매개변수) printf("호출후 a = %d, b= %d\n", a, b); //출력: 호출후 a = 5, b= 3}void swap(int x, int y){ // 함수정의(형식 매개변수) int temp; temp = x; ..
1. 함수함수란 특정한 작업을 수행하도록 설계된 독립적인 프로그램을 의미합니다. C에서는 이러한 함수들이 정해진 순서에 따라 실행됨으로써 프로그램의 기능을 수행합니다. C 프로그램은 이러한 함수들로 구성되어있습니다. 즉 전체의 실행내용을 몇개의 모듈로 분류하여 각각의 모듈에 해당하는 내용을 함수로 작성하며 실행순서에 따라 그 함수들을 차례로 호출하여 실행됩니다. 이러한 함수의 특성으로는 서로를 자유롭게 호출가능하며 모든 함수는 서로 독립적입니다. 함수의 장점으로는 프로그램의 수정이 용이하고, 함수는 재사용이 가능하기때문에 코드 중복을 최소화 할 수 있고, 프로그램의 기능을 한눈에 파악할 수 있게 해줌으로써 유지관리가 쉽다는 것입니다. 단위 프로그램을 하나의 실행 함수에 기술한 경우 실행 함수의 길이가 커..
C언어에서 goto문은 프로그램 수행 도중에 원하는 곳으로 제어를 무조건 옮기는 제어문입니다. 1. 사용방법형식은 아래와 같습니다. Label: goto Label; .. 예제) #include #pragma warning(disable:4996)void main(void) { int i,n,c = 'A'; while(1){ printf("\n 횟수는?"); scanf("%d",&n); for(i=1;i 결과) 2. goto문을 사용할 수 없는 경우 goto 문이 보내는 레이블은 제어문 안의 레이블로는 보낼 수가 없습니다. 예제) 아래 3가지 케이스모두 제대로 작동하지 않습니다.#include #pragma warning(disable:4996)void main(void) { ..
1. 산술연산자연산자의 종류구분연산자기능이항연산자+,-,*,/더하기, 빼기, 곱하기, 나누기%나눗셈의 나머지단항연산자-부호의 반전++1증가--1감소 예제)#include void main(){ int x,y,z; x = 10; y = 3; z = -y; printf("z = %d\n",z); //z = -3 printf("x+y = %d\n",x+y); //x+y = 13 printf("x/y = %d\n",x/y); // x/y = 3 //%를 연산을 사용하기 위해 % 두개를 사용한다. printf("x%%y = %d\n",x%y); // x%y = 1 printf("y%%x = %d\n",y%x); //y%x = 3 in..
1. 표준 출력함수1) printf()모든 자료형의 내용을 출력하는 함수입니다.사용방법은 아래와 같습니다.printf("출력양식",변수1, 변수2,...); 예제)#include void main(){ char c = 'A'; int i = 10,j=20,k=30; printf("출력\n"); printf("c=%c,c의 아스키 코드값은 %d\n",c,c); // 출력: c=A,c의 아스키 코드값은 65 printf("i=%d,j=%d,k=%d",i,j,k); //출력: i=10,j=20,k=30 }2) putchar()1개의 '문자'를 출력하는 함수입니다. #include void main(){ char a = 'A'; putchar(a); putchar(a..