본문 바로가기
[IT] C언어 입문(14, 끝) C 전처리기(C preprocessor), 함수 포인터(function pointer) □ C preprocessor, function pointer * List Creation and Element Counting - element를 포인터를 따라가면서 카운팅... recursion 이용 int count(LINK head) { if (head == NULL) return 0; else return (1 + count(head->next)); } recursion 이용 안 함 int count(LINK head) { int cnt = 0; for(; head!=NULL; head=head->next) // head=head->next는 head가 다음 element를 포인팅하는 식 { cnt++; } return cnt; } --- LINK stringToList(char s[]) { L.. 2021. 9. 18.
음악에 대한 이해 - 음악 3요소, 서양 종교음악, 오페라, 예술가곡, 교향곡 □ 음악의 요소들 1. 음악의 3요소 : 멜로디, 리듬, 화성 2. 진동수와 관련있는 음의 특성 : 음높이 3. 음악의 이해는 듣는 것에서부터 시작된다. □ 음악의 폭넓은 이해를 위한 준비 (1) 사회속에서 음악의 기능, 음악과 연관된 자매예술들(언어예술, 춤예술 등)과의 음악의 연관성, 세계사의 변화와 음악의 관계와 같은 맥락적 이해가 필요하다. (2) 음악 장르의 내적 특성에 대해 이해한다(오페라, 심포니) (3) 다양한 음악들에 대한 비교연구(대중음악과 클래식 음악)를 한다. (4) 음악가들에 대한 지식을 가진다. ○ 음악을 더 잘 이해하기 위해서는 청취자의 노력이 필요하다. ○ 음악은 소리로 구성된 청각예술이다. 음악을 구성하는 주요한 요소로는 선율, 리듬, 화성이 있다. □ 음악의 기원과 종교음.. 2021. 9. 17.
[IT] C언어 입문(13) 자료구조(data structure) 예시 - 연결리스트(linked list) * Unions - The same syntax as structures - But, members share storage - Union은 Structure에 비해 메모리 공간을 아낄 수는 있으나 요즘엔 그닥... - 어떤 변수로 액세스 하느냐에 따라서 달라짐;; structure와 union의 차이점 --- struct foo { int n; float r; } p; ==> p n | | r | | union foo { int n; float r; } q; ==> q n, r | | --- typedef union foo { int n; float r; } number; // number type 정의 int main(void) { number m; // number type 선언 m.n = 2345.. 2021. 9. 14.
[IT] C언어 입문(12) structure, union, enumerated types - 구조체, 공용체, 열거체 □ structure / union / enumerated types * Arguments to main() - To communicate with the OS - argc: the number of command line arguments // argc, argy 변수의 이름은 관례이므로 바꿔도 오류는 안 남 - argv: an array of strings - The strings are the words that make up the command line - argv[0] contains the name of the command itself - 사용자가 인자를 프로그램에 직접 주기 위해 사용, 명령 프롬프트! --- #include int main(int argc, char *argv[]) { .. 2021. 9. 11.
[IT] C언어 입문(11) File operation 파일연산, String, 다차원 배열 예시 □ file operations * calloc() and malloc() 함수 => 동적 메모리 할당 - In the standard library (stdlib.h) - To dynamically create storage for arrays, structures, and unions - void* calloc( size_t n, size_t s ) - Contiguous allocation : Allocates contiguous space in memory with a size of n * s bytes - The space is initialized with 0% - If successful, returns a pointer to the base if the space - Otherwise, r.. 2021. 9. 2.