const char *a=(char*)malloc(6); a="12345"; printf("%s",a);
이랬을 경우 *a는 코드영역에 들어가잖습니까? 근데 코드영역이 동적할당 되나요? 이게 왜 에러가 안나는지 걍 궁금해서요..
까먹을만 하면 돌아오는군요.ㅎ.ㅎ
제가 알기론 힙영역은 데이터 영역으로 알고 있습니다.
문자열 상수 같은 경우는 힙영역에 있다가 필요할때마다
코드 영역으로 불러와서 쓴다고 알고 있습니다.
상당히 헤깔리는군요..
볼때마다 말이죠..-_-;;
laziness, impatience, hubris
不恥下問 - 진정으로 대화를 원하면 겸손하게 모르는 것은 모른다고 말하는 용기가 필요하다.
strcpy(a,"abcde");
의도하는 코드가 아래같은 게 아닌가요?
char * const a=(char*)malloc(6); a="12345"; printf("%s",a);
---------- 시그 ***** 저도 세벌식을 씁니다. M$윈도우즈, 리눅스, 맥 오에스 텐, 맥 오에스 클래식을 모두 엔드유저 수준으로 쓴답니다.http://psg9.egloos.com
================= 잠못자는 한솔아빠
맞습니다..
덧붙이자면
"abcde" <== 요게 힙공간에 있다는 거구요
상수화한 동적할당이라도
포인터의 변환은 가능하죠?
const char *str 과 char* const str 차이를 이해하셨다면 쉬우실듯 하군요..
http://kldp.org/node/92343#comment-435619
위 쓰레드 좀 웃긴게 제가 묻고 제가 답한..-_-;;
const char *str 이라면 *str의 값이 힙영역에 들어간다는 거군요. 답변 감사합니다 ㅎㅎ ^^
순수하게 malloc()이 코드영역에 써지는가가 궁금해서요. -_-; 답변주신분들 감사합니다. 저 지금 나가봐야 돼서 내일 또 확인하겠습니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
까먹을만 하면
까먹을만 하면 돌아오는군요.ㅎ.ㅎ
제가 알기론 힙영역은 데이터 영역으로 알고 있습니다.
문자열 상수 같은 경우는 힙영역에 있다가 필요할때마다
코드 영역으로 불러와서 쓴다고 알고 있습니다.
상당히 헤깔리는군요..
볼때마다 말이죠..-_-;;
laziness, impatience, hubris
不恥下問 - 진정으로 대화를 원하면 겸손하게 모르는 것은 모른다고 말하는 용기가 필요하다.
laziness, impatience, hubris
不恥下問 - 진정으로 대화를 원하면 겸손하게 모르는 것은 모른다고 말하는 용기가 필요하다.
저렇게 코드를 쓰면...
가 에러가 나는 거 아닌가요?
의도하는 코드가 아래같은 게 아닌가요?
---------- 시그 *****
저도 세벌식을 씁니다.
M$윈도우즈, 리눅스, 맥 오에스 텐, 맥 오에스 클래식을 모두 엔드유저 수준으로 쓴답니다.
http://psg9.egloos.com
=================
잠못자는 한솔아빠
맞습니다.. 덧붙이자
맞습니다..
덧붙이자면
"abcde" <== 요게 힙공간에 있다는 거구요
상수화한 동적할당이라도
포인터의 변환은 가능하죠?
const char *str 과 char* const str 차이를 이해하셨다면 쉬우실듯 하군요..
http://kldp.org/node/92343#comment-435619
위 쓰레드 좀 웃긴게 제가 묻고 제가 답한..-_-;;
laziness, impatience, hubris
不恥下問 - 진정으로 대화를 원하면 겸손하게 모르는 것은 모른다고 말하는 용기가 필요하다.
laziness, impatience, hubris
不恥下問 - 진정으로 대화를 원하면 겸손하게 모르는 것은 모른다고 말하는 용기가 필요하다.
요약하자면..
const char *str 이라면 *str의 값이 힙영역에 들어간다는 거군요.
답변 감사합니다 ㅎㅎ ^^
저 그냥 순수하게..
순수하게 malloc()이 코드영역에 써지는가가 궁금해서요. -_-;
답변주신분들 감사합니다.
저 지금 나가봐야 돼서 내일 또 확인하겠습니다.
댓글 달기