티스토리 뷰
[초급] 문자열 입력받기
01. Char 변수에 문자 입력 받기
1) scanf 사용하기 (기본)
int main() { char c; scanf("%c", &c); // 문자를 입력받아서 변수에 저장 printf("%c\n", c); // 변수의 내용을 출력 return 0; }
2) getchar 사용하기
int main() { char c = getchar(); // 문자 하나를 입력받음 printf("%c\n", c); return 0; }
int main() { char string1[10]; // 크기가 10인 char형 배열을 선언 char string2[30]; // 크기가 30인 char형 배열을 선언 scanf("%s", string1); // 표준 입력을 받아서 배열 형태의 문자열에 저장 printf("%s\n", string1); // 문자열의 내용을 출력 scanf("%[^\n]s", string2); // 공백까지 포함하여 문자열 입력받기 printf("%s\n", string2); return 0; }
03. 메모리 할당하여 문자열 포인터 변수에 문자열 입력 받기
1) 오류
int main() { char *string = "Hello"; // 문자열 포인터 선언, 문자열 할당 scanf("%s", string ); // 실행 에러, // 문자열 리터럴의 주소를 가르키는 포인터에 저장된 변수는 읽기만 가능하고 쓰기 불가능합니다. printf("%s\n", string ); return 0; }
2) 정상
int main() { char *string = malloc(sizeof(char) * 10); // char 10개 크기만큼 동적 메모리 할당 scanf("%s", string); // 표준 입력을 받아서 메모리가 할당된 문자열 포인터에 저장 printf("%s\n", string); // 문자열의 내용을 출력 free(string); // 동적 메모리 해제 return 0; }
'Computer > C' 카테고리의 다른 글
[c/c++] 문자열 NULL , 0, '\0' 차이 및 개념 (0) | 2021.11.01 |
---|---|
[초급] 문자열비교 (0) | 2017.07.04 |
[초급] 문자열 입력받고 하나씩 자르기 (3) | 2016.04.09 |
함수포인터 & 멤버함수 포인터 관련 (0) | 2015.09.02 |
함수 포인터 및 클래스 멤버함수의 함수포인터화 (0) | 2015.09.02 |
댓글