char *string
char string[]
예제 1 (세그먼테이션 오류) :
이 코드는 분할 오류를 초래합니다. 왜?
는 캐릭터에게포인터 로 선언되기 때문입니다. 이 포인터는 일반적으로 읽기 전용 메모리에 저장된 문자열 리터럴 ( "Wello, World!")을 가리키도록 초기화됩니다. 이 읽기 전용 메모리의 내용을 수정하려고하면 세분화 오류 (메모리 액세스 위반)가 발생합니다. 예제 2 (성공적인 수정) :
이 코드는 "Hello, World!"를 성공적으로 인쇄합니다. 여기에서를 수정할 수 있습니다.
주요 차이점 :
#include <stdio.h>
int main(void) {
char *string = "Wello, world!"; // string is a pointer
string[0] = 'H'; // Attempting to modify a read-only string
puts(string);
}
가 스택의 배열에 생성되고 저장됩니다.
결론 : string
위 내용은 C에서 문자열 할당의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!