프로그래밍/C 프로그래밍 썸네일형 리스트형 [C언어] 기억클래스 #기억클래스(storage class)변수를 기억공간의 특정영역에 할당하는 방법변수의 사용위치에 따라지역 / 전역 변수변수의 존속기간에 따라자동변수/정적변수/외부변수/레지스터변수전역변수: 함수 밖이나 외부파일에서 선언되어 프로그램 전체에 걸쳐 사용될 수 있는 변수동일 범위 내에서는 지역변수가 우선전역변수의 선언은 프로그램 선두에 위치가급적 지역변수 사용하는 것이 효율적함수의 독립성 향상, 디버깅 효율 향상, 기억공간 절약# 자동변수함수 실행시 만들어지게 되고, 실행이 끝나면 기억공간이 제거됨예약어 auto 사용(생략 가능)통용 범위는 변수가 선언된 블록이나 함수 내로 한정지역변수에 해당초기화가 필요# 정적 변수기억영역이 프로그램 끝날 때까지 유지예약어 static 사용전역 변수에 해당변수의 값은 프로그램.. 더보기 [C언어] typedef # typedef이미 존재하는 자료형에 새로운 이름을 붙이기 위한 키워드간단하거나 의미있는 이름으로 바꿀 수 있어 프로그램 이해가 쉽다.구조체 형을 선언하는 데 많이 사용형식) typedef 기존 자료형 새로운 자료형이름;사용예) typedef int INT; typedef 의 사용typedef unsigned int BYTE; //unsigned int 형을 BYTE라는 새로운 이름으로 정의BYTE val ; typedef int *PTR;PTR p1,p2; #include struct data{ int x; int y;};typedef struct data DATA; // struct data를 DATA로 정의 int main(){ DATA d={1,2}; printf("d.x=%d,d.y=%d\n.. 더보기 [C언어] 파일 입출력 # 파일 입출력파일 : 보조기억장치(디스크)에 들어있는 정보들의 모임.- 일련의 바이트(byte)들로 구성- C 프로그램은 운영체제를 통해서 파일을 읽거나 쓰게 된다.- C언어에서는 컴퓨터와 연결된 장치들까지도 모두 파일의 범주에 넣어 처보조기억장치의 파일을 이용한 자료의 입출력 👉 파일 처리함수를 이용키보드나 모니터를 통한 자료의 입출력 👉 표준 입출력함수 이용파일포인터를 사용하여 파일 입출력 수행파일을 입출력할 때 버퍼(buffer)사용# 2진파일텍스트 파일을 포함한 모든 종류의 자료를 다루는 파일컴파일 되어 있어 기계어에 가까우므로 내용을 이해하고나 인쇄가 불가능.# 버퍼기억 공간과 디스크 사이에 존재하는 임시 기억 공간파일 입출력 시 디스크에 저장된 자료를 기억공간으로 읽어 들이거나, 기억 공.. 더보기 [C언어] 메모리 동적 할당 calloc() 함수malloc() 함수와 동일하게 힙 영역에 기억공간 할당할당된 기억공간 0으로 초기화수void * calloc(n, sizeof(int)).// 주어진 size의 크기를 가지는 기억공간 n개를 할당 받는다.#include #include int main(){ int i; int *a; a = (int *)calloc(5, sizeof(int)); for(i=0; i realloc() 함수이미 할당 받은 기억 공간의 크기를 변경해야 할 필요가 있을 경우 사용void * realloc(void *p, int size)// 포인터 p가 가리키고 있는 기억공간의 크기를 지정된 size 크기로 변경 int *a;a=(int *) calloc(5,sizeof(int));// int형 크기의 .. 더보기 [C언어] 파일처리함수 # 파일 입출력파일 열기- 입출력 수행하기 - 파일 닫파일 입력: 디스크상의 특정 위치(파일)에 있는 자료를 읽어 기억공간에 수록하는 절차파일 출력: 기억 공간에 있는 자료를 디스크상의 특정 위치에 수록하는 절차. # 순차파일 만들어진 파일에 자료를 기록하는 함수출력 : putc(), fputc(), fputs(), fprintf()입력: getc(), fgetc(), fgets(), fscanf() :: 순차파일의 저장된 자료를 읽어 내는 함수 순차파일 입력함수파일 출력함수에 의해 만들어진 순차파일의 저장된 자료 읽어내는 함수자료를 읽을 때는 파일의 끝에 있는 EOF 신호를 만날 때까지 읽을 수 있는 프로그램 작성.getc() :문자 단위의 파일 입력함수c=getc(fp) // 지정된 파일로부터 한.. 더보기 [C언어] 구조체와 공용체 구조체(structure)서로 다른 자료형을 갖는 자료들의 모임하나로 자료형으로 정의하여 사용 (사용자 정의 자료형) #구조체 형식struct 구조체명 변수명1,변수명2,변수명3;struct score{ char no[4]; char name[8]; int kor; int eng; int math; int hist;}X,Y; //X,Y는 struct score의 구조체 변수typedef struct score{ char no[4]; char name[8]; int kor; int eng; int math; int hist;}jumsu; //struct score를 jumsu라는 새로운 자료형으로 정의jumsu X,Y;//또는struct person{ char name[8]; int age; char s.. 더보기 [C언어] 포인터 및 참조 포인터 변수?변수의 주소값을 갖는 특별한 변수변수: 특정 데이터 값을 갖고 있음포인터: 특정 데이터가 저장된 기억장소의 주소(번지)값을 가지고 있음따라서 포인터는 기억공간을 변수명으로 접근하지 않고 주소로 접근하기 위해 사용한다.포인터의 사용포인터가 유효한 대상을 가리키게 한 후 사용해야 한다.ptrVar = &var; // ptrVar이 var를 가리키게 함*prtVar = value; // prtVar을 이용하여 var을 액세스//& 주소 계산 연산자//*prtVar: 포인터 prtVar가 가리키는 곳 # 포인터 변수의 선언int *pp: 포인터 변수로서 정수형 자료가 수록되어 있는 주소를 갖고 있다.*p: 해당 주소에 수록되어 있는 정수형 자료를 갖고 있다. 일반변수포인터변수선언int a;int *.. 더보기 [C언어] 배열 # 배열동일 자료형의 값들이 순서적으로 하나의 이름에 모여 있는 것배열의 각 요소는 하나의 변수로 취급각각의 자료들은 원소라 하며, 이들은 배열명과 첨자로 구분첨자의 표현은 대괄호로 나타냄.# 1차원 배열배열의 첨자가 하나만 있음첨자의 개수는 배열 전체의 구성요소의 개수를 의미 (첨자 0부터 시작)1차원 배열의 초기화배열을 선언하면 기억공간을 초기화해야 한다. 1차원 배열의 초기화방법배열 선언 후 초기값 할당 : 반드시 배열의 크기 지정.외부로부터 자료 입력받아 초기화: ex) scanf("%d", &x[ i ]); 배열선언과 동시에 초깃값 할당int array[4] = {10,20,30,40};int array[] = {10,20,30,40}; // 배열의 크기 생략 가능int array[4] = {.. 더보기 이전 1 2 다음