리눅스 c-언어 초급과정에서는 c언어 구조, 간단한 문법, 컴파일방법에 대해서 알아봤습니다. 제가 처음에 말씀드렸듯이 예제 프로그램을 직접 입력하고 컴파일을 하셨다면 지금쯤 vim에 좀 익숙해지고 c언어에 대해서도 익숙해 졌으리라 생각됩니다. 예제프로그램은 반드시 vim으로 직접 입력해 보고 gcc로 컴파일을 해보고 실행해보고 궁금한게 있으면 예제 프로그램을 수정해서 실행해 보면서 익히셔야 합니다. 이방법이 c언어(다른언어도 마찬가지)를 익히는데 가장 좋은 방법입니다. 심화과정에서는 증권사 투자정보 시스템 기능하는 프로젝트를 목표로 강의를 진행하려고 합니다. 기초인 초급과정에서 다루지 않았던 여러가지를 예제를 통해서 설명드리려고 합니다. 최종 목표에 필요한 모듈개념, 라이브러리 만들기, makefile,..
1) 목표 개발시 자주 사용되는 전처리기 이해하기 2) 설명 전처리기는 gcc 컴파일 하기전에 이루어지는 작업입니다. 전처리기는 #include, #define, #ifdef, #undef, 등 여러가지 형태가 있습니다. 이전 강의에서 배운 #pragma도 전처리기의 한 형태입니다. 여기서는 자주 사용되는 #include, #define, #ifdef 문에 대해서 알아봅니다. // 사용자가 작성한 헤더파일을 포함시킬 수 있습니다. #include "my_header.h" // 매크로를 정의할 수 있습니다. #defineMAX_ARRAY100 // 매크로를 조건연산자로도 정의할 수 있습니다. // a,b중 작은값을 구하는 매크로입니다. #define MIN_LEN(a,b) (((a)code); printf..
1) 목표 구조체안의 구조체 이해하기 2) 설명 // 값만을 가지는 struct typedef struct { int currentPrice; // 현재가 int startPrice; // 시가 int highPrice; // 고가 int lowPrice; // 저가 } PRICE_ST; // 주식 현재가 struct 의 새로운 타입을 정의 // struct의 멤버로 struct를 가질수 있습니다. typedef struct { char code[10]; // 주식코드 char name[80]; // 주식명 PRICE_ST price; double qty; // 거래량 } CURRENT_PRICE_ST; 구조체의 멤버로 다른 구조체가 될 수 있습니다. CURRENT_PRICE_ST안에 다른 구조체 PRI..
1) 목표 구조체의 크기 알아보기 #pragma pack 에 대해서 이해하기 구조체를 함수 파라메타로 사용하기 구조체 포인터인 경우 멤버접근 방법 알아보기 2) 설명 // 구조체의 크기 sizeof(CURRENT_PRICE_ST); // call-by-value로 구조체 사용하기 void print_value(CURRENT_PRICE_ST valuePrice) { printf("주식코드:[%s]\n", valuePrice.code); ... } // call-by-reference로 구조체 사용하기 void print_reference(CURRENT_PRICE_ST *ptrPrice) { printf("주식코드:[%s]\n", ptrPrice->code); ... } 구조체의 크기도 sizeof 연산자로..
1) 목표 구조체(struct) 이해하기 구조체 사용법 이해하기 2) 설명 구조체는 여러 타입을 묶어서 사용하는 자료구조형입니다. // struct 정의 struct tag { char member1; int member2; double member3; }; // struct 선언 struct tag myTag; // typedef를 사용한 struct 정의 // MY_TAG를 새로운 타입으로 생성 typedef struct { char member1; int member2; double member3; } MY_TAG; // struct 선언 MY_TAG myTag; 구조체의 정의는 struct (키워드) tag(태그명) { 사용하고자 하는 타입들 }; 태그명은 여러분들이 알맞은 이름을 사용하시면 됩니..

1) 목표 문자열(배열)을 다루는 함수 알아보기 문자열(배열) 함수 사용해 보기 2) 설명 제목처럼 문자열(배열) 다루는 것은 사실 메모리를 다루는 기술입니다. 변수를 선언하면 메모리가 할당이 되고 변수에 값을 넣고 참조할 수 있는것이 메모리를 다루는것 입니다. 여기서는 c언어에서 제공하는 문자열 관련 함수, 메모리 관련 함수를 다루고자 합니다. 3-1) 메모리 관련 함수 예제 프로그램 ▶ vi mem.c #include #include void main() { char str[] = "Hello, World"; char buf[12]; // str의 내용을 buf로 복사함 memcpy(buf, str, 12); // Hello, World (12자) printf("buf:[%12.12s]\n", buf..
1) 목표 ▶함수 파라메타 유형에 대해서 알아보기 call-by-value 이해하기. call-by-reference 이해하기. 2) 설명 함수에 넘겨주는 파라메타(인자값)의 유형은 값을 넘겨 주는 방식(call-by-value), 주소(포인터)를 넘겨 주는 방식(call-by-reference)이 있습니다. call-by-value 방식은 함수를 부르는쪽이나 함수나 서로 영향을 주기 않습니다. 14.함수에서 살펴본 sum(int a, int b) 함수가 call-by-value의 전형적인 함수입니다. call-by-reference 방식은 주소를 넘겨 주고, 넘겨 받아서 처리하기에 값에 영향을 줍니다. 3-1) call-by-value 방식 예제 프로그램 ▶ vi func3.c #include // v..
1) 목표 함수 이해하기 함수 리턴값 이해하기 함수 파라메타 이해하기 2) 설명 // 함수형식 int func(int arg1) { return 0; } // 리턴값이 있는 함수 int func() { return 0; } // 리턴값이 없는 함수 void func() { } // 파라메타가 있는 함수 int func(int arg1) { return 0; } // 파라메타가 여러개 있는 함수 int func(int arg1, int arg2, char arg3) { return 0; } ▶ 함수구성은 리턴값타입 함수명(파라메타) { 함수 내용 } int func(int argc); 리턴타입은 int 함수명은 func 파라메타는 int argc 1개로 정의된 함수입니다. int func(); 리턴타입은 ..
- Total
- Today
- Yesterday
- 포인터
- memset
- c프로그램
- 재고
- #include
- #define
- 전처리기
- 파라메타
- 배열
- Linux
- Pointer
- String
- strcpy
- 리눅스
- 의유
- #ifdef
- 소켓
- C언어
- sharetravelplan
- While
- struct
- Clang
- memcpy
- Member
- IPC
- Call-By-Reference
- Call-by-value
- 문자열
- array
- GCC
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |