특성 배열
끈 불변의 것과 같은
"나는이다 끈"
특성의 배열은 이다. 그것은 끈에 있는 ASCII 문자에 의해 C에서 내부에 대표된다, i.e, "나", 공백, "a", "m",… 또는 위 끈은, 및 특별한 널 문자 "\ 0" 그래서 프로그램에 의해 종결해 끈의 끝을 찾아내서 좋다.
끈 불변의 것은 부호의 산출을 하기에서 자주 사용한다 printf를 사용하여 이해할 수 있는:
printf("Hello, world\n");
printf("The value of a is: %f\n", a);
끈 불변의 것은 가변과 연관될 수 있다. C는 1개의 특성 (1개의 바이트)를 이번에 포함할 수 있는 문자형 가변을 제공한다. 문자열은 문자형, 위치 당 1개의 ASCII 문자의 배열에서 저장된다.
끈이 널 문자 "\ 0"에 의해 평범하게 종결되기 때문에, 우리는 배열에 있는 1개의 여분 저장 위치를 요구한ㄴ다는 것을 결코 잊지 말라.
C는 전체 끈을 즉시 교묘히 다루는 어떤 통신수에게도 제공하지 않는다. 끈은 포인터 또는 표준 끈 도서관 string.h.에서 가능한 특별한 일과를 통해 교묘히 다룬다.
특성을 사용하여 포인터는 배열의 이름이 그것의 첫번째 성분에 포인터 다만 이기 때문에 관계되 쉽다. 프로그램을 다음 주어지는 고려하십시오:
#include<stdio.h>
void main()
{
char text_1[100], text_2[100], text_3[100];
char *ta, *tb;
int i;
/* set message to be an arrray */
/* of characters; initialize it */
/* to the constant string "..." */
/* let the compiler decide on */
/* its size by using [] */
char message[] = "Hello, I am a string; what are
you?";
printf("Original message: %s\n", message);
/* copy the message to text_1 */
i=0;
while ( (text_1[i] = message[i]) != '\0' )
i++;
printf("Text_1: %s\n", text_1);
/* 사용 명백한 포인터 산법 */
ta=message;
tb=text_2;
while ( ( *tb++ = *ta++ ) != '\0' )
;
printf("Text_2: %s\n", text_2);
}
프로그램의 산출은 다음과 같이 일 것이다:
Original message: Hello, I am a string; what are you?
Text_1: Hello, I am a string; what are you?
Text_2: Hello, I am a string; what are you? |
표준 "끈" 도서관은 많은 유용한 우리가 스트링 섹션에서 나중에 배울 끈을 교묘히 다루기 위하여 기능을 포함한다.
|