[study] 구조체 & 구조체 포인터
·
프로그래밍/C
구조체란?- 사용자가 C언어의 기본 타입을 가지고 새롭게 정의할 수 있는 사용자 정의 타입이다.- 배열이 같은 타입의 변수 집합이라면, 구조체는 다양한 타입의 변수 집합을 하나의 타입으로 나타낸다.- 구조체를 구성하는 변수를 '멤버' 또는 '멤버 변수' 라고 한다. 구조체 정의 및 선언struct doyoucode{ char doy; int coding;}; struct 키워드 뒤에 구조체 이름을 작성하고, 내부에는 멤버변수의 타입, 이름을 작성한다.마지막에 중괄호를 닫고 나서는 세미콜론을 꼭 넣어야 한다.이렇게 정의하게 된 구조체를 '사용자 정의 자료형'이라고 한다. 정의 된 구조체 타입은 구조체 변수로 선언하여 사용할 수 있다.ex) struct doyoucode my_code; (struct 구조체..
[study] file descriptor 와 open()
·
프로그래밍/C
file descriptor (파일 디스크립터) 란?- 시스템으로부터 할당 받은 int (정수) 값. (= fd)- fd 는 일반적으로 음수가 아닌 0과 양수 값을 가지지만, 파일 open에 실패하면 음수를 반환한다.- 프로세스에서 열린 파일의 목록을 관리하는 테이블의 인덱스를 의미한다. 일반적으로 유닉스에서는 모든 객체를 파일로 관리하는데, 프로세스는 '파일 디스크립터' 개념으로 파일들에 접근한다.응용 프로세스가 파일을 열거나, 생성하면, '파일 디스크립터'를 얻게 되고, 포인터처럼 파일을 가리키는데 사용한다.여러 함수들 (read(), write(), fcntl(), close() ..) 등에서 이를 사용한다. 기본 파일 디스크립터0 : 표준 입력 (standard input)1 : 표준 출력 (st..
[study] 함수 포인터
·
프로그래밍/C
함수 포인터란? - '함수를 가리킬 수 있는 포인터'를 의미한다.- 함수도 주소를 가지고 있으며, 함수명 앞에 &를 해보면 주소를 확인할 수 있다.- 주소를 가지고 있다는 것은 포인터도 선언할 수 있다는 것이다. [기본형태]-> 반환값자료형 (*함수포인터이름)(); 예시)int (*f) (int a, int b) 일반 포인터와 마찬가지로 주소를 가리키기에 *을 사용하여 포인터라고 알려준다.여기서 맨 앞의 int는 반환형이고, f는 포인터의 이름 (임의로 지정), a와 b는 매개변수를 의미한다. void (*ff)() 함수명이 ff이고, 반환값은 void로 없고, 매개변수도 없는 함수포인터.가리키고 싶은 함수의 '반환형, 매개변수' 타입과 포인터의 타입이 일치해야 그 주소값을 포인터에 저장가능하다.#inc..
[library] isdigit 구현하기
·
프로그래밍/C
📌 매뉴얼 (Linux)더보기SYNOPSIS       int isdigit(int c);: 함수 프로토타입 DESCRIPTION       isdigit()              checks for a digit (0 through 9).: 0 ~ 9 까지의 10진수인지 확인 RETURN VALUE       The  values  returned  are nonzero if the character c falls into the tested class, and zero if       not.: 반환값은 조건에 만족하지 않으면 0이고, 만족하면 0이 아닌 값이다 NOTES       The standards require that the argument c for these functions is..
[library] isalpha 구현하기
·
프로그래밍/C
📌 매뉴얼 (Linux)더보기SYNOPSIS       int isalpha(int c);: 함수 프로토타입 DESCRIPTION       isalpha()              checks  for  an  alphabetic  character; in the standard "C" locale, it is equivalent to              (isupper(c) || islower(c)).  In some locales, there may be  additional  characters  for              which isalpha() is true—letters which are neither uppercase nor lowercase.: isupper (영어 대문자인지..