본문 바로가기

반응형

C

(149)
[C언어] String Array #include void printStrings1(char (*arr)[20], int size){ for(int i = 0; i < size; ++i){ printf("%s\n", &arr[i][0]); // &arr[i][0] == arr[i] } } void printStrings2(char **arr, int size){ for(int i = 0; i < size; ++i){ printf("%s\n", arr[i]); // arr[i] == &arr[i][0] } } int main(void){ char cities1[][20]={ "Seoul", "Los Angeles", "Rio de Janeiro", "Moscow", "Paris" }; char *cities2[] = { "Seoul", "..
[C언어] string.h 1. void* ​memset(void* ptr, int value, size_t num); - ptr : 저장 공간의 시작 포인터 - value : 저장할 값(1byte) - num : 저장하는 메모리 크기(byte) ​ 2. void* memcpy(void* ptr, const void* value, size_t num); - ptr : 저장할 공간 - value : 저장할 값 - num : 저장하는 메모리 크기(byte) ​ 3. int memcmp(const void* ptr1, const void* ptr2, size_t num); - ptr1 : 비교 대상 1 - ptr2 : 비교 대상 2 - num : 비교하는 바이트 수 int a; int b; a = 0; // memset(&a, 0, 4..
[C언어] string #include #include // strcpy(), strcat(), strcmp() int main(void){ char str[10]; //char *pStr; // (오류) pointer 변수를 선언해 주었으면, 포인터가 가리키는 주솟값을 지정해 주어야 한다. strcpy(str, "hello"); strcat(str, " world"); // strcat()은 문자열을 이어 붙여 준다. 이 때 변수의 크기에 주의하여야 한다. if(strcmp(str, "hello world") == 0) // 비교하는 두 문자열, str과 "hello world"가 같다면 0을 반환한다. printf("equal\n"); else printf("not equal\n"); return 0; }
[C언어] int main(int argc, char *argv[]) 1. int argc - 인자의 개수를 의미한다. - 프롬프트 입력 줄의 스트링 개수이다. ​ 2. char *argv[] 또는 char **argv - 각각의 인자를 배열로 저장해 준다. - 스트링에 저장된 메모리를 가리켜주는 포인터 배열을 말한다. $ ./test sweet new // argc = 3 // argv[0] = ./test // argv[1] = sweet // argv[2] = new
[C언어] swap 2 (전역 변수) #include int a; // 전역변수 a, b를 선언한다. int b; // 전역변수는 0으로 초기화 된다. void swap(){ int tmp = a; a = b; b = tmp; } int main(void){ a = 100; b = 200; swap(); printf("a : %d, b : %d\n", a, b); return 0; }
[C언어] swap 1 (포인터) #include void swap(int *, int *); int main(void){ int a = 100, b = 200; printf("a : %d, b : %d\n", a, b); swap(&a, &b); printf("a : %d, b : %d\n", a, b); return 0; } void swap(int *x, int *y){ int tmp = *x; *x = *y; *y = tmp; }
[C언어] 실습: Lotto 번호 무작위 추첨하는 프로그램 구현하기 2 (1~45까지의 번호를 섞은 후, 차례로 7개의 숫자를 뽑아 Lotto 번호 결정하기) Lotto 번호 무작위 추첨하는 프로그램 구현하기 2 (1~45까지의 번호를 섞은 후, 차례로 7개의 숫자를 뽑아 Lotto 번호 결정하기) #include #include #include int main(void){ int lotto[45]; srand(time(NULL)); // seed 값을 변경해준다. (현재시간(초)을 리턴해준다) for(int i = 0; i < 45; ++i) lotto[i] = i + 1; // lotto[] 배열에 1 ~ 45의 숫자를 차례로 저장한다. for(int i = 0; i < 10000; ++i){ // lotto[45]에 저장된 45개의 값들을 섞는다. int index1 = rand() % 45; // 서로 값을 교환할 index의 값을 rand()로 뽑아낸..
[C언어] 실습: Lotto 번호 무작위 추첨하는 프로그램 구현하기 1 (7개의 번호 rand() 함수로 뽑아내기) Lotto 번호 무작위 추첨하는 프로그램 구현하기 1 (7개의 번호 rand() 함수로 뽑아내기) #include #include // srand(), rand() #include // time() int main(void){ int lotto[7]; srand(time(NULL)); // seed 값을 변경시킨다. for(int i = 0; i < 7; ){ lotto[i] = rand() % 45 + 1; // 1 ~ 45까지의 난수를 발생시킨다. int j; // j for 문 바깥에서 변수 j를 사용하기 위해 바깥에서 변수 선언 해준다. for(j = 0; j < i; ++j){ if(lotto[i] == lotto[j]) break; // lotto[i](이전에 입력된 값)와 lotto[j](현..

반응형