저 이게 문제있는 코드인가요?

semjase의 이미지

char *s = "TEST";

malloc으로 할당하지않고 그냥 저렇게 써도 돼요?

jick의 이미지

다만 저 상태에서 s가 가리키는 값을 변경하려고 하면 안됩니다. 읽는 용도로만 쓴다면 문제없습니다.

yundorri의 이미지

초보 때 저렇게 쓴데에 strcpy해서 죽은 경우가 참 많았네요. ^^

ktd2004의 이미지

이정도면 괜찮을 것 같은데요.

const char *s = "TEST";
powerson의 이미지


memory 영역이 항상 rw로 할당되지 않다라는 것만 아시면 됩니다. 즉 지금 작성하신 코드 등에서는 "TEST"가 저장된 memory 영역은 read only로 할당받게 됩니다. 만약 rw로 할당받으시려면, array or memory allocation 등을 하셔야만 합니다.

------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.

------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.