1강-문자(배)열 상수는 어디에 저장되는가? 관련 질문
5번째 줄에 있는 문자열과, 7번째 줄에 있는 문자열은, 같은 문자열입니다.(당연히 같은 메모리 공간에 존재)
이 부분에서 궁금한 점이 생겨 질문을 하게 되었습니다.
다른 문자열로 일일이 메모리에 저장하지 않고, 굳이 같은 문자열로 저장하는 이유가 있을까요?(제 추측으로는 속도 향상을 위해서 같습니다. 하지만 개발자가 같은 메모리에 위치한다는 사실을 잘 인지하지 못한다면 오류도 빈번히 발생할 것 같은데 이유가 궁금합니다.)
같은 문자열이 아닌 다른 문자열로, 즉 다른 메모리 공간에 각각 존재시키고 싶다면, 어떻게 해야할까요?
1번에서 '개발자가 같은 메모리에 위치한다는 사실을 잘 인지하지 못한다면 오류도 빈번히 발생할 것 같은데' 라고 제가 추측했었습니다. 실제로 이러한 예시가 있는지 궁금합니다.
답변 1
0
한 곳에 저장해두고 재활용하는 것이 효율적이기 때문입니다. 속도와는 거리가 있고 메모리 효율과 관련이 깊겠습니다. 그리고 문자열이 저장된 메모리 영역은 기본적으로 읽기 전용 입니다. 따라서 쓰기 접근이 허용되지 않습니다. 그 문제를 제외하고 특별히 오류가 발생할 일은 없습니다.
메모리를 새로 할당한 후 각각 따로 저장해주면 됩니다.
쓰기 접근 오류 외에 없겠습니다.
참고하시기 바랍니다.
병행성 제어
0
41
2
질문이 있습니다(강의와 거의 상관이 없는)
0
70
2
컴파일러 서적 질문입니다
0
154
1
코드생성 및 최적화 질문입니다
0
151
1
Hex Editor를 이용한 다국어 번역 관련 질문입니다
0
206
2
큐의 배열을 넘겨도 정상작동합니다
0
155
2
캐너리비트에 관하여 질문
0
207
3
상수화된 문자열에 질문있습니다
0
167
1
함수 호출 매개변수 전달에 대한 질문 드립니다.
0
187
1
단항 증감 연산에 따른 다른 접근에 대한 질문있습니다.
0
203
2
함수호출 규약 종류에 따른 장단점 여부
0
221
2
정적라이브러리 링크 오류
0
221
1
const char *를 char*에 초기화할때의 컴파일 에러 처리 방식 문의
0
348
2
pszParam 수정이 왜 Hello World print에도 영향을 미치는지 이해가 잘 안됩니다.
0
248
2
비선형 자료구조
0
307
1
자료 구조 공부 후에
0
348
1
강의자료 관련
0
248
1
마지막에 말씀하신 부분 질문드립니다.
0
209
1
문자열 관련 질문 드립니다
0
286
1
라이브러리
0
269
1
부동소수점
0
386
1
왜 변수 주소 사이에 offset이 있는 건가요?
0
297
2
stack 쌓는 순서
0
500
1
함수호출이랑 쓰레드
0
404
1





