strcasecmp는 C 언어의 문자열 비교 함수로, 대소문자를 구분하지 않고 두 문자열을 비교합니다. 이 함수는 두 문자열이 같으면 0을 반환하고, 첫 번째 문자열이 사전 순으로 두 번째 문자열보다 앞서면 음수를 반환하고, 첫 번째 문자열이 사전 순으로 두 번째 문자열보다 뒤에 있으면 양수를 반환합니다.strcasecmp 함수는 헤더 파일에 정의되어 있으며, 다음과 같이 사용할 수 있습니다.cCopy code#include int result = strcasecmp(const char *s1, const char *s2); 여기서 s1과 s2는 비교할 두 문자열입니다.예를 들어, 두 문자열 "Hello"와 "hello"를 비교하는 경우 다음과 같이 사용할 수 있습니다.cCopy code#include ..
모든 포인터는 4byte의 크기를 가지므로, void포인터라는 형태가 없는 포인터도 사용이 가능하다. void pointer는 여러가지 자료형에 상관없이 저장이 가능하나, 컴퓨터가 그 자료를 읽어오기 위해서 필요한 데이터의 크기값(int 4byte, char 1byte ...)이 없어서 호출시 해당 자료형을 알려주어야 호출이 가능하다. *(char*)p = 형식으로 표기한다. 호출시 자료형을 지정하지 않으면 불러울 수 없다.
이중포인터는 뭐 어려운 개념이라기보단, 말이 길어지는 개념이다. 누구의 친구의 친구의 친구의 친구 같은 느낌.. 포인터를 또 포인터로 지정해주는 경우가 있는데, 이때는 *을 두개 붙여서 표시해준다. 두번째 포인터 아래처럼 정의해준다. int** p2 = &p; 여기서 나중에 내부 값을 불러올때, *p2 라고 하면 *p2 = 100 (첫단계 주소값) **p2 라고 하면 **p2 = 20 (두번째(위 그림의 경우 마지막)단계의 내부값) 을 지칭한다. 개념이 어렵기보단 건너는 다리가 많아서 헷갈리니, 별이 2~3개 붙어있으면 유심히 보아야한다.
혹시 틀린 부분이 있으면 지나가지 마시고 댓글로 지적해주시면 감사드리겠습니다. :-) C언어에서는 문자열을 담는 자료형이 없으므로 두가지 방법으로 문자열을 담을 수 있다. 첫번째는 배열을 이용한것, 두번째는 문자열 주소값을 가진 포인터를 이용하는것. 이 그림과 같이 int a[3][5] 라는 2차원 배열이 있고, a의 주소는 200이라고 가정했을때, 이 배열을 가르키는 포인터는 int(*p)[5] = a 가 된다. int*p = a와는 다른데, 이 배열에서 a의 기본 단위는 20바이트가 되므로, a주소값은 200 이라면, a+1 주소값은 204가 아닌 220이 된다. 그러나 int*p = a라고 정의하면, p+1의 주소값은 220이 아닌 204가 되어버려, 1:1 대응이 안되고 다른 의미가 되어버린다...
p는 int *p 형식으로 정의되어 있으므로, int * 형식(메모리주소값.&) 만 들어갈 수 있다. 여기에 p=70과 같이 int값을 넣어버리면 오류가 난다 포인터는 변수다. 자신의 자료형과 일치하는 변수의 주소를 저장한다. (int*p 는 int의 주소만 저장하고, str의 주소는 저장할 수 없다.) 통상적으로 int의 크기는 4byte 이므로 4byte로 가정하고, 주소값은 (편의상 10진법으로) 임의로 &a = 100, &p = 500 으로 설정한 경우, [참고로 여기서 가정한 주소값은 실제로는 저렇게 대입하면 정수와 주소값의 자료형이 다르므로 불가능함. 편의상 주소값을 10진수로 표기] a[2] = *(a+2) &a[2] = a+2 배열식 표현 포인터식 표현 int* p = int *p (별 위..
https://gmlwjd9405.github.io/2018/05/08/algorithm-merge-sort.html [알고리즘] 합병 정렬(merge sort)이란 - Heee's Development Blog Step by step goes a long way. gmlwjd9405.github.io https://gmlwjd9405.github.io/2018/05/06/algorithm-selection-sort.html [알고리즘] 선택 정렬(selection sort)이란 - Heee's Development Blog Step by step goes a long way. gmlwjd9405.github.io 버블 정렬(bubble sort) [알고리즘] 버블 정렬(bubble sort)이란 - H..