본문 바로가기

728x90
반응형
Develop/C
728x90
반응형
36

18-4 C 언어 문자열 비교 strcmp, strncmp 예제 2016/07/23 - [IT/C언어] - 18-3 C 언어 문자열 관련 strcat, strncat 예제이번 시간에는 strcmp 와 strncmp를 배워보도록 할게요! strcmp는 string compare 이라는 뜻이에요 즉 문자열을 비교할 때 쓰는거죠! C 언어에서는 문자열을 복사하고 붙여넣을 때처럼 그냥 쓸 수가 없기 때문에 이런 함수가 존재하는 거에요 그러니까 이렇게 if (str1 == str2)쓸 수 없다는 거죠 이렇게 하면 주소를 비교하게 되는거에요 내용을 비교하고 싶으면 strcmp를 써야하는데#include #include int main(void){ char *str1="String"; char *str2="String"; if (!strcmp(str1, str2)){ printf.. 2016. 7. 24.
18-3 C 언어 문자열 복사 strcat, strncat 예제 2016/07/23 - [분류 전체보기] - 18-2 C 언어 문자열 관련 strcpy, strncpy 예제이번 시간에는 strcat와 strncat를 배워보도록 할게요 이것들은 무슨 역할을 하는 애들일까요? 얘네들도 복사해서 붙여넣는 역할을 하는 애들인데요 strcpy와 strncpy와는 차이점이 있습니다!! strcat와 strncat는 복사할 문자열에 내용이 들어있으면 그 뒤에 붙여주는 애들이에요!! 그럼 strcat 예제를 볼까요? #include #include int main(void){ char str1[]="Hello"; char *str2=" world"; strcat(str1, str2); } 이렇게 사용합니다 strcpy와 사용법은 비슷해요! 이렇게 하면 str1에 뒤에 world 이.. 2016. 7. 23.
18-2 C 언어 문자열 복사 strcpy, strncpy 예제 2016/07/23 - [IT/C언어] - 18-1 C 언어 문자열 관련 strlen 예제이번 시간엔 문자열을 복사하고 붙여넣는 strcpy와 strncpy를 배워보도록 하겠습니다! 그런데 이렇게 문자열을 복사하고 붙여넣는 것이 왜 필요할까요? 바로 문자열은 직접 전달이 불가능하기 때문입니다. 즉char str1[]="Hello world"; char str2[]=ch3; 이런 식으로 붙여넣기가 불가능 하다는거죠. 그래서 C 언어에서는 이런 함수를 제공하고 있어요 그럼 먼저 strcpy를 볼게요. #include #include int main(void){ char str1[]="Hello world"; char *str2; strcpy(str2, str1); } 이렇게 사용해요 이렇게 하면 str2에 .. 2016. 7. 23.
18-1 C 언어 문자열 길이 strlen 예제 2016/07/19 - [IT/C언어] - 17 C 언어 스트림의 종류, 문자열 함수!안녕하세요 이제부터 C언어의 문자열을 다루는 함수들을 알아볼거에요. 저번시간엔 입출력을 알아보는 시간을 가졌는데요 이제부터는 문자열을 그야말로 다루는! 함수들을 알아보겠습니다.strlen 이번엔 그 첫 번째 주자! strlen인데요 strlen은 string length의 줄인 말입니다 바로 문자열의 길이를 계산해 주는거죠! 함수는 이렇게 strlen(const char) 생겼어요 그럼 예제를 한 번 볼까요? #include #include int main(void){ char ch3[100]; int len; fgets(ch3, sizeof(ch3), stdin); len = strlen(ch3); printf("%d.. 2016. 7. 23.
17 C 언어 스트림의 종류, 문자열 함수! 2016/07/13 - [컴퓨터/C언어] - 16-2 포인터의 확장[함수 & void 포인터]! 이번 시간엔 문자열을 다루게 해주는 함수들에 대해서 배워보도록 할게요! 입출력을 가능하게 해주는 데에 스트림이라는 것이 있어서 가능한 것이에요! 그럼 이 스트림이란 것에는 어떤 것들이 있을까요? 바로 입력, 출력, 에러 스트림이란 3개의 스트림이 존재하는데요!스트림 stdin 표준 입력 스트림 키보드 대상으로 입력 stdout 표준 출력 스트림 모니터 대상으로 출력 stderr 표준 에러 스트림 모니터 대상으로 출력 이렇게 존재합니다. 즉 stdin은 입력할때! stdout은 출력할 때! 사용하시는 겁니다 그리고 stderr는 사실 stdout과 비슷한데 나중에 더 깊게 공부하면 알게 될 수 있습니다.문자 출.. 2016. 7. 19.
16-2 포인터의 확장[함수 & void 포인터]! 2016/07/09 - [컴퓨터/C언어] - 16 C언어 이중 포인터! 오늘은 함수 포인터와 void 포인터에 대해서 배워보도록 하겠습니다! 먼저 함수 포인터는 어떻게 선언할까요? 함수 포인터는 반환형과 매개변수를 통해 구분합니다 예를 들어! int func(int num) 이라는 함수가 있다고 합시다! int (*fptr) (int) = func; 그럼 함수 포인터는 이렇게 선언하면 되요! 그리고 여기서 fptr(10)을 하게되면 func(10) 과 똑같은 역할을 하게 되죠 그럼 이번엔 void 포인터에 대해서 배워 보도록 할게요! void *ptr; void 포인터는 이런 식으로 선언해요! 그럼 이 void 포인터는 어떻게 쓰는 걸까요?? 이 void 포인터는 형이 결정되어 있지 않기 때문에 어떤 변.. 2016. 7. 13.
16-1 C언어 포인터의 확장 [이중 포인터]! 2016/07/07 - [컴퓨터/C언어] - 15-1 C언어 배열의 확장!(다차원)오늘은 이중포인터를 알아보도록 할게요 이중 포인터는 바로 포인터에 포인터를 선언하는거에요! 그래서 주소값을 저장받게 하는거에요. int num = 97; int *ptr1 =# int **dptr =&ptr1; 이렇게 주소값을 저장할 수도 있고 int *ptr2 =*dptr; 포인터에 이렇게 *dptr이 ptr1을 가리키니 ptr2도 num을 가리키게 되요! 그리고 2016/07/06 - [컴퓨터/C언어] - 14-2 C 언어의 배열 & 포인터의 관계!여기서 배웠듯이 배열을 포인터로 전달할 수 있는데 2차원 배열에 접근하고 싶을 때에는 포인터 변수를 이렇게 선언하면 됩니다! 만약 int arr[5][5];라는 배열이.. 2016. 7. 9.
15 C언어 배열의 확장!(다차원) 2016/07/06 - [컴퓨터/C언어] - 14-3 C언어 포인터의 완성!!오늘은 1차원 배열을 확장해서 다차원 배열을 배워보도록 하겠습니다!! 다차원 배열은 제한없이 4 5 차원까지 선언할 수 있는데요 보통 2, 3 차원이상은 사용하지 않죠 그럼 2차원 배열부터 알아보도록 하겠습니다!! 먼저 2차원 배열의 구조를 알아보도록 하겠습니다! 먼저 선언하는 법! int arr[5][4]; 이런 식으로 선언합니다!! 그럼 이건 어떻게 생겼을까요?arr[0][0] arr[0][1] arr[0][2] arr[1][0] arr[1][1] arr[1][2] arr[2][0] arr[2][1] arr[2][2] arr[3][0] arr[3][1] arr[3][2] 이렇게 고등학교 때 배웠던 행렬을 떠올리시면 됩니다 그.. 2016. 7. 7.
14-3 C언어 포인터의 완성!! 2016/07/06 - [컴퓨터/C언어] - 14-2 C 언어의 배열 & 포인터의 관계! 드디어 포인터의 마지막 시간이에요!!! 이번 시간엔 저번 시간에 이어 배열과 포인터의 관계를 마저 배우고 함수에 매개변수로 포인터 변수와 배열을 전달하는 것에 대해 배워 보도록 할게요 배열 중 문자열과 포인터 간의 관계에 대해 알아보겠습니다!char str[] ="Hello world"; 문자열은 이렇게 선언 했었죠! char *str ="Hello world"; 하지만 문자열을 이렇게 선언할 수도 있습니다 그런데 이 두개에는 차이점이 존재하는데요! str[i] ="A"; //가능 str[] = "ABCDE"; //불가능 먼저 배열형태의 문자열은 주소값 변경이 불가능합니다 그렇지만 i번째 요소를 불러와 바꾸게 할 수.. 2016. 7. 6.
14-2 C 언어의 배열 & 포인터의 관계! 2016/07/06 - [컴퓨터/C언어] - 14 C언어의 포인터!저번시간에 포인터의 기초에 대해서 배웠죠! 오늘은 배열과 포인터의 관계에 대해서 알려드리려고 합니다 일단 결론부터 말하자면! 배열은 포인터의 일종입니다!! 하지만 참조하는 값을 바꿀 수 없는 상수형태인 것이죠 즉!! 배열도 메모리의 주소값을 나타내지만! 주소 값을 변경할 수 없어요! 그럼 예제를 통해 한번 알아볼까요? int main() { int arr[10] = {1,2,3,4,5,6,7,8,9,10}; int *ptr = arr; printf("%d\n", *ptr); ptr++; printf("%d\n", *ptr); ptr++; printf("%d\n", *ptr); ptr++; printf("%d\n", *ptr); ptr--;.. 2016. 7. 6.