아래 코드를 돌려봤습니다.<br><br>#include<stdio.h><br><br>char* string1(void);<br>char* string2(void);<br><br>int main(void)<br>{<br> char* p1 = NULL;<br> char* p2 = NULL;<br><br> p1 = string1();<br> p2 = string2();<br><br> printf("%s \n", p1);<br> printf("%s \n", p2);<br><br> system("pause");<br> return 0;<br>}<br><br>char* string1(void)<br>{<br> static char str[] = "Good";<br> return str;<br>}<br><br>char* string2(void)<br>{<br> static char str[] = "Morning";<br> return str;<br>}<br><br>string1의 str과 string2의 str의 주소를 디버거로 보니 string2의 str이 더 큰 주소값을 갖더라구요. 이거 왜그런지 설명좀 해주세요. 보통 먼저 만들어진 변수가 큰 주소값을 같는다고 알고 있는데요. 아닌가요ㅠ<br>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.