문자열을 입력하고 표준 출력에 표시해야합니다.C - char 포인터 및 char 포인터 문자열 관리
이상적인 솔루션은 char 포인터 배열로 문자열을 가져 오는 것이지만, scanf에서 오류가 발생합니다. char 포인터 문자열 솔루션에는 할당 된 공간이 없기 때문에 제가 생각합니다.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
char *charString;
printf("Input string - max %i caratteri: ",CHARARRAYSIZE);
scanf("%s", charString);
printf("%s",charString);
return EXIT_SUCCESS;
}
그러므로 나는 char 배열로로 고통 취득에 의지하고 사용 나는 그의 strcpy를 sayng strcpy를 호출 그 말을 경고가이 경우에는 문자 포인터 string.v로 (strcpy와)을 복사 생체하지 않고. 이 문제를 어떻게 해결할 수 있습니까?
아래 두 번째 사례 코드를 확인하십시오.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define CHARARRAYSIZE 16
int main(void) {
char *charString;
char charArray[CHARARRAYSIZE];
printf("Input string - max %i characters: ",CHARARRAYSIZE);
scanf("%s", charArray);
strcpy(charString,charArray);
printf("%s",charString);
return EXIT_SUCCESS;
}
내 목표를 달성하고
'charString'에는 여전히 메모리가 할당되어 있지 않으므로 복사 작업을 어떻게 수행 할 것으로 기대하십니까? 포인터가 가리키는 힙 공간을 할당하려면'malloc'을 사용해야합니다. – millinon