본문 바로가기
반응형

함수3

[C언어/초보를위한] 문자열의 길이를 반환하는 strlen 함수 구현하기 strlen() 문자열의 길이를 반환하는 함수 intstrlen(char* str) { inti; i = 0; while (str[i]) i++; return (i); } i가 0에서부터 시작하여 문자열의 끝을 의미하는 '\0' (NULL 문자)가 담긴 위치까지 ++(증가)함으로써, 결론적으로 str에 담긴 문자의 갯수가 i에 담기게 된다. while문 내에서 한 줄이라도 줄이고 싶다면 아래와 같이 작성하면 된다. intstrlen(char* str) { inti; i = 0; while (str[++i]); return (i); } 2022. 1. 27.
[C언어/초보를위한] 문자열을 출력하는 putstr 함수 구현하기 putstr() 문자열을 출력하는 함수 #include voidputstr(char *str) { inti; i = 0; while (str[i]) { write(1, str[i], 1); i++; } } 문자열의 마지막에는 '\0' (NULL 문자)가 존재한다. while문의 조건이 NULL이라는 결과라면, while문 안의 내용을 실행하지 않는다. 고로 while (str[i++]) 는 문자열 끝까지 탐색할 수 있는 조건으로 활용 할 수 있는 것이다. 이전에 구현했던 putchar() 함수를 함께 사용한다면 아래와 같이 구현할 수도 있다. #include voidputchar(char c) { write(1, &c, 1); } voidputstr(char *str) { inti; i = 0; whil.. 2022. 1. 27.
[C언어/초보를위한] 서로의 두 값을 바꿔주는 swap 함수 구현하기 swap() 매개변수로 주소가 입력된 두 개의 정수의 값을 맞바꾸는 함수 voidswap(int *a, int *b) { inttmp; tmp = *a; *a = *b; *b = tmp; } 쉽게 설명하자면, tmp라는 빈 상자에 잠시 a의 값을 담아 놓고 a에는 b값을, b에는 잠시 빼 두었던 tmp 안에 있는 원래의 a 값을 넣게 되는 것이다. 그럼 결과적으로는 a와 b의 값이 서로 바뀐다. 2022. 1. 27.
반응형