strlen
-
일반적으로 어떤 변수를 출력할 때 그것은 해당 변수가 위치한 주소의 값을 출력하는 것이다. 위와 같이 a라는 것은 변수Ko가 가지고 있는 '값' 이며, a가 위치한 주소는 별도의 메모리 주소를 가지고 있는 것이다. 이러한 점에서 Ko == *&Ko 와 같은 뜻이라고 볼 수 있다. array 변수 자체는 array의 시작점 주소를 가지고 있다. 주소값을 출력해보면 Ko, &Ko[0], *&Ko 가 모두 같은 결과를 출력하는 것을 볼 수 있다. 변수 Ko 자체가 시작점 주소를 가지고 있으므로 &Ko[0]와 동일한 의미인 것이다. &와 *가 함께 있으면 서로 교차캔슬되어 *&Ko 와 Ko가 동일한 의미가 된다. 즉 *Ko == Ko[0] 이며 Ko[1]이 되기 위해서는 *(Ko + 1)로 표현 가능하다. st..
[ C언어 ] - 문자열 관련 함수를 직접 구현하기일반적으로 어떤 변수를 출력할 때 그것은 해당 변수가 위치한 주소의 값을 출력하는 것이다. 위와 같이 a라는 것은 변수Ko가 가지고 있는 '값' 이며, a가 위치한 주소는 별도의 메모리 주소를 가지고 있는 것이다. 이러한 점에서 Ko == *&Ko 와 같은 뜻이라고 볼 수 있다. array 변수 자체는 array의 시작점 주소를 가지고 있다. 주소값을 출력해보면 Ko, &Ko[0], *&Ko 가 모두 같은 결과를 출력하는 것을 볼 수 있다. 변수 Ko 자체가 시작점 주소를 가지고 있으므로 &Ko[0]와 동일한 의미인 것이다. &와 *가 함께 있으면 서로 교차캔슬되어 *&Ko 와 Ko가 동일한 의미가 된다. 즉 *Ko == Ko[0] 이며 Ko[1]이 되기 위해서는 *(Ko + 1)로 표현 가능하다. st..
2020.08.23 -
문자열은 C에서 다양한 문자표현을 나타내기 위해 사용한다. 내부적으로 문자열은 char자료타입의 배열로 이루어져있으며 이것은 포인터와 같다고 할 수 있다. 영문같은 경우 알파벳 1개당 1byte의 크기를 가지며 한글같은 경우 글자 1개당 2byte의 크기를 가진다. 이것은 array의 크기가 10개의 문자가 들어갈 수 있는 공간이라고 했을때 영문은 10자, 한글은 5자 들어갈 수 있다. 배열은 선언 후 배열 몇번쨰의 값의 메모리 주소 자체가 배열 자체가 된다. 이런 의미에서 배열은 포인터라고 할 수 있다. array[1]에서 5의 값이 들어있다면 &array[1]은 해당 값이 들어있는 곳의 주소를 말한다. = 포인터 1001 개 만큼의 문자가 들어갈 수 있는 하나의 문자열 input변수를 만든다. get..
C 프로그래밍 (14) - 문자열 함수 string문자열은 C에서 다양한 문자표현을 나타내기 위해 사용한다. 내부적으로 문자열은 char자료타입의 배열로 이루어져있으며 이것은 포인터와 같다고 할 수 있다. 영문같은 경우 알파벳 1개당 1byte의 크기를 가지며 한글같은 경우 글자 1개당 2byte의 크기를 가진다. 이것은 array의 크기가 10개의 문자가 들어갈 수 있는 공간이라고 했을때 영문은 10자, 한글은 5자 들어갈 수 있다. 배열은 선언 후 배열 몇번쨰의 값의 메모리 주소 자체가 배열 자체가 된다. 이런 의미에서 배열은 포인터라고 할 수 있다. array[1]에서 5의 값이 들어있다면 &array[1]은 해당 값이 들어있는 곳의 주소를 말한다. = 포인터 1001 개 만큼의 문자가 들어갈 수 있는 하나의 문자열 input변수를 만든다. get..
2020.08.08