본문 바로가기

분류 전체보기

Q1. memset 포인터 버퍼오버런 보호되어 있는 글입니다. 더보기
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 문자열 비교 보호되어 있는 글입니다. 더보기
[이실직고 day 4] 배열기반 연결리스트 마무리 보호되어 있는 글입니다. 더보기
이실직고 day 3 배열리스트 EXPLANATION 설명 만들고자 하는 프로그램 : 배열에서 7을 찾아 삭제 후 리스트 조회 CODE 코드 1. 헤더파일 #ifndef __la_la_h__ #define __la_la_h__ #define FALSE 0 #define TRUE 1 #define len 10 //1. 기본 선언 typedef int Data; typedef struct _arrlist { Data arr[len]; int num; int cur; }arrlist; typedef arrlist list; // 2. 함수 선언 // 1) 함수 초기화 void init(list* plist); // 2) 함수 데이터 삽입 int insert(list* plist, Data data); // 3) 함수 조회 int lfirst.. 더보기
C언어 헤더파일 추가 #include "파일명", #ifndef #endif로 확인 1. #include 와 "stdmine.h" 의 차이 [EXPLANATION] 설명 라이브러리에 이미 포함되어있는 헤더파일을 불러올 때는 #include 를 사용한다. 가령, printf와 scanf 처럼 입출력함수를 정의하고 있는 헤더파일 stdio.h 를 include 하면 코드 내에서 자유롭게 입출력 기능을 사용할 수 있다. 이를 위해 소스파일에서 메인함수보다 먼저 #include 하면 된다. 한편, 직접 헤더파일을 만들 수도 있다. 이 경우 #include ""를 사용한다. 가령, 배열을 초기화하고 데이터를 저장한 뒤 조회 및 삭제하는 함수들의 프로토타입을 선언하고 각종 함수를 초기화하기 전에 typedef로 대체해주는 기능을 헤더파일 stdmine.h 라고 임의로 선언한다면 #include ".. 더보기