A sentimental robot

문자열 본문

C

문자열

GOD03219 2018. 1. 2. 13:42

문자열


  • 문자열의 크기는 실제 문자 개수+1 byte( 널문자 / \0 / NULL )

  •  널문자는 문자열의 끝을 알려주는 역할을 한다.

  •  문자열"A"는 2 byte인데 A가 1 byte이고 널문자가 1 byte를 차지한다.

  • 문자열은 입력도 주소 값 ,출력도 주소값을 사용한다.

  • 문자열은 항상 널을 만날 때까지 출력된다.






#include<stdio.h>
#include<string.h>        // 문자열함수 헤더파일
#pragma warning(disable:4996)
void main(){


 char name[20];
 int len;


 gets(&name[0]);     // 문자열 입력함수

 puts(name);         // 문자열 출력함수


 len=strlen(name);    // 널문자를 제외한 실제 문자열 길이를 리턴해주는 함수(-1 byte)
 // 값을 리턴해주기 때문에 call by value
 printf("len=%d\n",len);


}





#include<stdio.h>
#include<string.h>
#pragma warning(disable:4996)
void main(){


 char name[20]={"eunbi"};
 char buf[20];
 int r;


 strcpy(buf,"zombie");    // 문자열 복사함수
 puts(name);
 puts(buf);


 r=strcmp(name,buf);    // 문자열 비교 함수
 //문자열이 서로 같으면 return 0, 0이 아니면 다름
 printf("%d\n",r);
 
 strcat(buf,name);        //문자열 결합함수
 //결합할 공간(메모리)이 미리 있는 지 확인~ buf[20]에서 자리 있음!
 //buf[20]이 아니라 buf[10]라면 결합할 시 stack overflow 발생
 printf("%s",buf);


}

'C ' 카테고리의 다른 글

Call by address  (0) 2018.01.02
문자열 비교함수  (0) 2018.01.02
for문 연습  (0) 2018.01.02
표 만들기  (0) 2018.01.02
Recursive Function making header file  (0) 2018.01.02