본문 바로가기
반응형

분류 전체보기186

21_명령행인자 #include #include /* int main(int argc, char*argv[]) { int i; for (i = 0; i int(정수형) // "211" -> 211 num1 = atoi(argv[1]); num2 = atoi(argv[3]); oper = argv[.. 2018. 4. 28.
20_문자열 #include void exam1(); void exam2(); void exam3(); void exam4(); void exam5(); void exam6(); int main() { exam6(); return 0; } //문자열 표현(배열) 가장 일반적인 표현법 void exam1() { char arr1[] = { "hello" }; char arr2[] = { 'h', 'e', 'l', 'l', 'o', '\0' }; char arr3[] = "hello"; char arr4[] = { 'h', 'e', 'l', 'l', 'o'}; printf("%d : %d : %d : %d\n", sizeof(arr1), sizeof(arr2), sizeof(arr3), sizeof(arr4)); } /.. 2018. 4. 28.
19_void포인터 #include void exam1(); int main() { exam1(); return 0; } void exam1() { int num1 = 10; char ch = 'a'; int arr[10] = { 1, 2, 3, 4, 5 }; //모든 타입의 주소를 담을 수 있다. //사용시 반드시 원래의 타입으로 형변환해서 사용 void *pv; pv = &num1; (int*)pv + 1; pv = &ch; printf("%c\n", *(char*)pv); pv = arr; printf("%d\n", ((int*)pv)[0]); } 2018. 4. 28.
18_함수포인터 #include #include void fun1(); void fun2(); void fun3(); void fun4(); void fun5(); int main() { fun5(); return 0; } //함수의 이름은 주소이다. void fun1() { printf("%d : 0x%p\n", main, main); } void foo() { printf("foo()\n"); } void woo(int n, char ch) { printf("%d : %c\n", n, ch); } int goo(char * str) { printf("%s\n", str); return sizeof(str); } //함수 포인터 : 함수를 저장하는 포인터(함수의 주소를 저장) void fun2() { // void(*.. 2018. 4. 28.
야구게임(mini) //app.h void logo(); void ending(); void printmenu(); //프로그램 흐름 - 초기화 // 최초에 단 한번 실행 void app_init(); //프로그램 흐름 - 엔진 //반복 실행 코드 void app_run(); //프로그램 흐름 - 종료처리 //프로그램 종료시 단 한번 실행 void app_exit(); //baseball.h void bb_gamestart(); void comnumberinit(); void usernumberinsert(); void numbercheck(); int is_gameexit(); //data.h #define DATA_MAX 10 //std.h // 프로그램에서 필요로하는 모든 h 를 include #include #inc.. 2018. 4. 28.
간단한 관리프로그램(mini) //app.h void logo(); void ending(); void printmenu(); //프로그램 흐름 - 초기화 // 최초에 단 한번 실행 void app_init(); //프로그램 흐름 - 엔진 //반복 실행 코드 void app_run(); //프로그램 흐름 - 종료처리 //프로그램 종료시 단 한번 실행 void app_exit(); //booklist.h void book_insert(); void book_printall(); //data.h #define DATA_MAX 10 //std.h // 프로그램에서 필요로하는 모든 h 를 include #include #include //system() #include //_getch() #include "data.h" #include "a.. 2018. 4. 28.
17_포인터 #include //변수 목적 // 1) 값 // 2) 주소값 //변수의 형태 void exam1(); //1차원 void exam2(); //2차원 void exam3(); //const void exam4(); void main() { exam4(); } void exam4() { const int NUM = 1; int num = 10; int num1 = 20; const int *p = # //? int * const p1 = # //? p = &num1; // ok... //*p = 100; //error... } void exam3() { int num = 1; int arr[2][3] = { 1, 2 }; int(*parr)[3] = arr; int *p; p = arr[2].. 2018. 4. 28.
16_포인터배열 #include //배열의 이름은 주소값이다. //단, 상수이다. void exam1() { int arr[3] = { 1, 2, 3 }; int arr1[3] = { 11, 22, 33 }; // arr = arr1; // 배열의 이름을 L-value에 사용? 불가능... // 배열의 이름은 저장공간을 가리키는 개념이 아니라 // 배열 구조 전체의 주소를 가리키는 개념이다. //============================================================== *arr = arr1[0];// *arr = 11; // *arr은 R-value에 사용? *(arr + 1) = 22; //??? // (*arr) + 1 = ;// 절대 불가능 (*arr) + 1 의 결과는 숫자이.. 2018. 4. 28.
15_배열 #include void exam1(); void exam2(); void exam3(); void main() { exam3(); } void exam3() { //1. 배열 선언 : char type 10개를 저장하는 배열 char arr[10]; //2. 생성된 배열의 크기는 10byte이다. printf("%dbyte\n", sizeof(arr)); //10 //3. 배열 사용 // 4 인덱스 위치에 'c'를 저장 arr[4] = 'c'; printf("%c\n", arr[4]); char ch = arr[4]; // char ch = 'c'; char ch1 = *(arr + 1); //? //반복문과 배열의 관계 //배열에 문자 'A' ~ 'J'까지 저장 for (int i = 0; i < 1.. 2018. 4. 28.
반응형