"C언어 문자열 변수, 문자열 상수"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-source +syntaxhighlight))
 
(다른 사용자 한 명의 중간 판 6개는 보이지 않습니다)
1번째 줄: 1번째 줄:
==개념==
==개념==
;문자열 변수와 문자열 상수
;문자열 변수와 문자열 상수
* 문자열 변수와 문자열 상수는 모두 문자열을 저장함
* 둘다 끝에 '\0' 개행 문자가 자동으로 포함됨


==문자열 변수==
==문자열 변수==
<source lang='C'>
<syntaxhighlight lang='C'>
#include <stdio.h>
#include <stdio.h>


void main()
void main()
{
{
     char str[256] = "my name is John.";
     char str[] = "my name is John.";


     printf("%s\n", str);
     printf("%s\n", str);
16번째 줄: 18번째 줄:
     printf("%s\n", str);
     printf("%s\n", str);
}
}
</source>
</syntaxhighlight>
* 실행
* 실행
<source lang="C">
<syntaxhighlight lang="console">
my name is John.
my name is John.
My name is John.
My name is John.
</source>
</syntaxhighlight>


==문자열 상수==
==문자열 상수==
<source lang="C">
<syntaxhighlight lang="C">
#include <stdio.h>
#include <stdio.h>


37번째 줄: 39번째 줄:
     printf("%s\n", str);
     printf("%s\n", str);
}
}
</source>
</syntaxhighlight>


* 실행
* 실행
<source lang="Console">
<syntaxhighlight lang="console">
my name is John.
my name is John.
Segmentation fault (core dumped)
Segmentation fault (core dumped)
</source>
</syntaxhighlight>
: → 문자열 상수는 대입 시도시 에러 발생
 
==같이 보기==
* [[C언어 강좌]]
 
[[분류: C]]

2020년 11월 2일 (월) 02:40 기준 최신판

1 개념[ | ]

문자열 변수와 문자열 상수
  • 문자열 변수와 문자열 상수는 모두 문자열을 저장함
  • 둘다 끝에 '\0' 개행 문자가 자동으로 포함됨

2 문자열 변수[ | ]

#include <stdio.h>

void main()
{
    char str[] = "my name is John.";

    printf("%s\n", str);

    str[0] = 'M';

    printf("%s\n", str);
}
  • 실행
my name is John.
My name is John.

3 문자열 상수[ | ]

#include <stdio.h>

void main()
{
    char *str = "my name is John.";

    printf("%s\n", str);

    str[0] = 'M';

    printf("%s\n", str);
}
  • 실행
my name is John.
Segmentation fault (core dumped)
→ 문자열 상수는 대입 시도시 에러 발생

4 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}