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(); 리턴타입은 ..

1) 목표 포인터 개념 이해하기 이번 강의에서는 포인터의 기본 개념을 배우고 계속되는 강의에서 자세히 다루겠습니다. 2) 설명 ▶ 포인터는 c언어에서 제공하는 타입중 하나입니다. 다른 타입과 다르게 포인터 변수는 그값을 주소(어드레스)를 가진다는점이 다릅니다. // 포인터 변수 선언 char *ptr; // 포인터 변수에 값을 할당 char sbuf[6]; char *ptr; ptr = sbuf; int nVal; int *nPtr; nPtr = &nVal; ▶ 포인터 변수는 변수명 앞에 * 를 붙여서 선언합니다. 포인터 타입은 앞에서 살펴본 타입으로 선언 가능합니다. char *ptr, int *ptr, long *ptr, double *ptr ... 포인터 변수의 타입은 대상이 되는 변수의 타입과 일..
- Total
- Today
- Yesterday
- c프로그램
- 리눅스
- Call-By-Reference
- Call-by-value
- 전처리기
- IPC
- While
- String
- 배열
- GCC
- strcpy
- memcpy
- 포인터
- 파라메타
- Member
- memset
- #ifdef
- 문자열
- #define
- #include
- array
- 소켓
- Clang
- Linux
- 재고
- C언어
- struct
- Pointer
- sharetravelplan
- 의유
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |