////
Search
๐Ÿ”ค

C์–ธ์–ด

๋‹ค์‹œ ๋ณผ ๋ฌธ์ œ
๋‚ด ๋‹ต์•ˆ
#include <stdio.h> typedef int bool; #define true 1 #define false 0 int str_len(char* arr) { int i=0; int cnt=0; while (arr[i] != '\0') { cnt+=1; i++; } return cnt; } int starts_with(char* a, char* b) { int i=0; while (a[i] != '\0' && b[i] != '\0'){ if (a[i] != b[i]){ break; } i++; } if (i == str_len(b)) return 1; else return 0; } int main(void) { bool rs; rs = starts_with("abc", "ab"); printf("rs : %d\n", rs); // ์ถœ๋ ฅ rs : 1 rs = starts_with("kbs", "kb"); printf("rs : %d\n", rs); // ์ถœ๋ ฅ rs : 1 rs = starts_with("mbc", "mc"); printf("rs : %d\n", rs); // ์ถœ๋ ฅ rs : 0 return 0; }
C
๋ณต์‚ฌ
โ†’ ์‘์šฉ๋ฌธ์ œ get_index_of๋กœ ๋ฌธ์ž์—ด ๋น„๊ต ๊ตฌํ˜„ํ•˜๊ธฐ
๋‚ด ๋‹ต์•ˆ
// ๋ฌธ์ œ : ๋ฌธ์žฅ์—์„œ ํŠน์ • ๋ฌธ์ž์˜ ์œ„์น˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์ฃผ์„ธ์š”.(get_index_of_c) #include <stdio.h> int get_str_len(char* a){ int cnt=0; for (int i=0; a[i]!='\0'; i++){ cnt++; } return cnt; } int get_index_of(char* a, char* b){ if (get_str_len(a) < get_str_len(b)){ return -1; } int cnt=0; for (int i=0; a[i] !='\0'; i++){ if(a[i] == b[0]){ for(int j=0; b[j] != '\0'; j++){ if(a[i+j] != b[j]){ return -1; } } return i; } } return -1; } int main(void) { int index; index = get_index_of("abcd", "b"); printf("index : %d\n", index); // ์ถœ๋ ฅ => index : 1 index = get_index_of("abcd", "bc"); printf("index : %d\n", index); // ์ถœ๋ ฅ => index : 1 index = get_index_of("abcd", "bcd"); printf("index : %d\n", index); // ์ถœ๋ ฅ => index : 1 index = get_index_of("abcd", "bd"); printf("index : %d\n", index); // ์ถœ๋ ฅ => index : -1 index = get_index_of("abcd", "abcd"); printf("index : %d\n", index); // ์ถœ๋ ฅ => index : 0 index = get_index_of("abcd", "d"); printf("index : %d\n", index); // ์ถœ๋ ฅ => index : 3 return 0; }
C
๋ณต์‚ฌ
๊ฐœ๋… ์ •๋ฆฌ
C์–ธ์–ด์—์„œ sizeof๋กœ ๊ธธ์ด ๊ตฌํ•˜๊ธฐ
โ€ข
char name[20]; ์—์„œ sizeof(name) โ†’ 20์ด ๋‚˜์˜ด
โ€ข
int name[20]; ์—์„œ sizeof(name)/sizeof(name[0]) โ†’ 20์ด ๋‚˜์˜ด
โ€ข
char* name = โ€œabcโ€; ์—์„œ sizeof(name) โ†’ 8์ด ๋‚˜์˜ด