인생마린
어떤 공부 블로거의 금서목록
인생마린
전체 방문자
오늘
어제
  • 전체 (155)
    • C언어 (19)
    • Python (14)
      • Flask (0)
    • Coding Challenge (11)
      • Code Clone & Review (0)
      • Toy Project (0)
      • 오늘의 코드 (5)
    • Algorithm (6)
    • JAVA (8)
    • 웹 (8)
      • Javascript (3)
    • 정보보안 (19)
    • 기타 (21)
    • 일기는일기장에 (2)
    • 리눅스 (4)
    • 철학 (1)
    • 주식 (14)
    • AI (2)
    • 독후감 (13)
    • 프로그래밍 (4)
    • 게임 (1)
    • Devops (2)
      • CI_CD (2)
      • AWS (0)
    • Flutter (3)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • Regular Expression
  • TFT
  • turtle
  • flask
  • 주식 #ETF
  • vpn
  • 해커톤
  • Regex
  • 테라
  • smtplib
  • best of best
  • 퀴즈봇
  • python #eval #dictionary
  • 백테스팅
  • Java
  • 우영우 #패러디논란
  • 가상화폐
  • Sphinx
  • 주린이 #주식
  • Python
  • 정규표현식
  • 코인
  • 폭락
  • Flutter
  • c언어
  • Bitcoin
  • 비트코인
  • 주식 #배당주
  • 불편한사회
  • 카카오톡봇

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
인생마린

어떤 공부 블로거의 금서목록

[C언어] 문자열 선언&출력하기
C언어

[C언어] 문자열 선언&출력하기

2017. 5. 28. 21:35
반응형

C언어는 문자열 String이 따로 없기 때문에 캐릭터형 배열인 char a[20]을 선언해주어 사용합니다.


우리 눈에 보이지 않지만 문자열은 항상 구분을 위해 단어가 끝나면\0을 뒤에 저장해줍니다.


C language 라는 문자를 저장할때


C\0

language\0

이런식으로 저장해주죠


그러므로 저장공간을 선언할때는 항상 \0 공백부분도 생각하면서 선언해주셔야됩니다.


문자열을 선언하는 방법은 세가지가 있는데요.


char a[]={'A','B','C',D','\0'}; 이런식으로 쓸경우 컴파일러가 알아서 a[5]로 최적의배열 크기를 정해줍니다.


char b[]="ABCD"; 이 경우도 마찬가지로 a[5]로 최적의 배열을 저장해줍니다. 이게 더 쓰기편하겠죠?


char c[5]="C#"; 우리가 크기를 미리 정해줄수도 있습니다! 'C', '#', '\0' 이 저장되었는데 뒤에 남은 두공간은

어떻게 될까요? 거기에 무슨 값이 들어가도 \0 이후 값은 출력되지 않습니다. \0이 이 단어의 끝이라고 알려주는 신호이기 때문이죠.




그럼 문장을 선언하고 싶으면 어떻게 할까요?


char d[5][10]={"I","love","this","blogger"};

또는

char d[5][10]="I love this blogger";


이런 식으로 이차원 배열로 저장해주시면 각 단어가 저장됩니다~



문자열을 출력하는 방법은?


엄청 간단합니다.

printf("%s", a); %s가 문자열을 출력해주는 아입니다.

%s를 쓰고 배열 이름만 써주면 단어를 출력해주죠~


문장의 경우에는 이차원 배열로 선언 했기 때문에

각 행에 단어들이 저장 되어있으니므로

for(int i;i<length;i++)
printf("%s", a[i]); 

이런식으로 출력해주시면 됩니다.




예제


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
 
int main()
{
    char ch = 'A';
 
    //문자열 선언방법 세가지!
    char java[] = { 'J','A','V','A','\0' };
    printf("%s\n", java);
 
    char c[] = "C language";
 
    printf("%s\n", c);
 
    char csharp[5] = "C#";
    printf("%s\n", csharp);
 
    printf("%c %c \n", csharp[0], csharp[0]);
 
    char d[5][10]={"I", "love", "this", "blogger"};
}


결과


반응형
저작자표시 비영리 (새창열림)

'C언어' 카테고리의 다른 글

[C언어] stdio.h 에 대해 알아보기  (0) 2017.05.28
[C언어] stdlib.h 헤더에 대해 알아보기  (0) 2017.05.28
[C언어]#6 if, if~else, else 조건문  (1) 2017.05.04
[C언어]#5 입력받기 scanf, scanf_s 문  (2) 2017.04.01
[C언어]#4연산자들과 우선순위  (1) 2017.04.01
    'C언어' 카테고리의 다른 글
    • [C언어] stdio.h 에 대해 알아보기
    • [C언어] stdlib.h 헤더에 대해 알아보기
    • [C언어]#6 if, if~else, else 조건문
    • [C언어]#5 입력받기 scanf, scanf_s 문
    인생마린
    인생마린
    즐거운 프로그래밍~♬

    티스토리툴바