본문 바로가기

C언어

c언어 memset() [CODE] #include void main() { char arr[20]; memset(arr,0,sizeof(int)); } 모든 arr 요소를 바이트단위로 뛰어 0으로 초기화 (arr의 멤버에게 바이트 크기만큼 뛰어서 0을 집어넣고 또 그 간격만큼 뛰어서 0을 집어넣으며 set한다) 단, 비트가 아니라 바이트 단위 초기화임 int형 변수 00000000 | 00000000 | 00000000 | 00000000 바이트 단위로 초기화 (1바이트 = 8비트) 00000010 | 00000010 | 00000010 | 00000010 0, -1로 memset 초기화하지않는 이상은 1, 2, 3, 뭘 넣든 제대로 초기화 안됨. 더보기
C언어 Enum {1,2,3}; 1. enum 상수화 선언. 구조체인데, 알파벳 요소를 멤버변수로 받으면 숫자로 저장하는 구조체라고 생각하면 편함 2. 특징 1) 별도 초기화 없을 시 시작부터 0,1,2,3을 대입 2) 초기화 있을 시 해당 숫자부터 규칙적으로 대입 3) 불규칙적 숫자 대입 원하면 모든 변수에 직접 초기화해주면 됨 [코드 1] #include enum alphabet_set { a, b, c, d, e }alph; void main() { enum alph num_1, num_2, num_3; num_1 = a; num_2 = b; num_3 = c; printf("a는 %d, b는 %d, c는 %d", num_1, num_2, num_3); return 0; } [출력 결과] a는 0, b는 1, c는 2 [코드 2].. 더보기
C언어 strcmp strncmp 비교 보호되어 있는 글입니다. 더보기
C언어 strcmp 문자열 비교 보호되어 있는 글입니다. 더보기
C언어 헤더파일 추가 #include "파일명", #ifndef #endif로 확인 1. #include 와 "stdmine.h" 의 차이 [EXPLANATION] 설명 라이브러리에 이미 포함되어있는 헤더파일을 불러올 때는 #include 를 사용한다. 가령, printf와 scanf 처럼 입출력함수를 정의하고 있는 헤더파일 stdio.h 를 include 하면 코드 내에서 자유롭게 입출력 기능을 사용할 수 있다. 이를 위해 소스파일에서 메인함수보다 먼저 #include 하면 된다. 한편, 직접 헤더파일을 만들 수도 있다. 이 경우 #include ""를 사용한다. 가령, 배열을 초기화하고 데이터를 저장한 뒤 조회 및 삭제하는 함수들의 프로토타입을 선언하고 각종 함수를 초기화하기 전에 typedef로 대체해주는 기능을 헤더파일 stdmine.h 라고 임의로 선언한다면 #include ".. 더보기
C언어 함수 포인터 사용법 void(* fp)(); [SYNTAX] 사용법 1. 구조 자료형 (함수포인터명) (매개변수명); 2.예시 void (*fp) (); 이때, 담으려는 자료형, 매개변수의 유형을 고려하여 함수포인터 유형 결정 [CODE] 함수포인터 사용 이전 코드 #define _CRT_SECURE_NO_WARNINGS #include void system() { printf("\n-------TRAVEL SYSTEM-------\n\n\n"); printf("1. Current Reservation State\n\n\n"); printf(" A room\t□□□□□□□□□□□□□□□□\n"); printf(" A room\t□□□□□■□□□□□■■□□□\n"); printf(" B room\t□□□□□□□□□□□□□□□□\n"); printf(.. 더보기
c언어 동적할당 받는 법 #include #include int num; int* num_arr; num_arr= (int*)malloc(sizeof(int)); scanf ("%d",&num_arr); //입력시 배열 주소 받게 scanf 선언 free(num_arr); 1. 헤더파일 포함시키기 2. int* 포인터 변수 선언 후 포인터에 동적할당 공간 생성 3. 실행할 명력 작성 후 4. free(포인터변수)로 해제해주어야 오류 안남. 더보기
c언어 #ifndef #endif headerfile [코드] 헤더파일 level5-2.h가 있으면 #ifndef __level5_2_h__ #endif [설명] 헤더파일의 중복을 막기 위해 사용하는 문법이다. #ifndef 넣고 __헤더파일명__ 으로 언더바를 두번씩 내려준 후 #endif로 마무리하면된다. 이때 모든 특수문자는 _로 처리해주고 문자, 숫자는 그대로 작성해준다. [연습해보자] 헤더파일 eng.h 헤더파일2 eng2.h 헤더파일3 eng3-3.h 각각 #ifndef __eng_h__ #ifndef __eng2_h__ #ifndef __eng3_3_h__ 로 쓴후 #endif 각각 닫아주면 끝난다 화이팅~ 더보기