Sample Image
공지: 보이드리얼리티 베타 서비스가 시작 됐습니다. (2025-03-09 13:13:36)

프로그래밍 >

533 포인터를 통한 간접접근 좀 물읍시다 형들 카운터블 2025-03-10 07:54:59 51
카운터블 | 2025-03-10 07:54:59 | 51 hits

#include<stdio.h>

struct point
{
 int x;
 int y;
};

struct point* function(void);

int main(void)
{
 struct point* p;
 p=function();
 printf("%d %d\n",p->x,p->y);
 printf("%d %d\n",(*p).x,(*p).y);
 printf("%x\n",p);

 

return 0;

}

struct point* function(void)
{
 struct point call={10,20};
 printf("%x\n", &call);
 return &call;
}

 

이면 실행결과가

 

12fe7c

10 20

1245032 4264912

12fe7c

 

로 나오는데

 

stuct point* function이 끝나면 원래 local variable인 call의 메모리가 완전히 사라져야되자나요?

 

근데 위에 밑줄그은 부분에서

 

첫번째 printf는 10 20이 출력되는 반면

 

두번째에선 이상한 값이 나옵니다.

 

p->x와 (*p).x의 차이는 무엇인가요?

 

p->x,y는 p의 주소에서 +0,+1을 더한값 만큼 이동해서 출력하는식인가요?

 

그리고 struct point인 p가 fuction의 result 값을 반환받았을 때 sturct 변수의 멤버변수 수와 크기까지 같이 받는가요?

 

(^오^) "Cool~" 0 | (-_-) "Damn!" 0
목록 수정  삭제
목록 수정 삭제

프로그래밍 프로세스

스레드 작성
21 님들 개인창작물들 있죠?? ㄹㅇ 부러움 ㅜㅜ 나도 컴잘하고시픔 [0] ㅇㅇ 2024-12-20 15:03:41 322
ㅇㅇ | 2024-12-20 15:03:41 | 322 hits
20 까톡 봇 만들기 어려울까? [0] kiacw 2024-12-20 15:02:34 325
kiacw | 2024-12-20 15:02:34 | 325 hits
19 게임하고싶은데 돈이 없다아아 [0] 북극레밍 2024-12-20 15:01:27 330
북극레밍 | 2024-12-20 15:01:27 | 330 hits
18 근데 노동청에 신고때리면 돈은 어떻게되는거얌? [0] 북극레밍 2024-12-20 15:00:21 342
북극레밍 | 2024-12-20 15:00:21 | 342 hits
17 임베디드 리눅스할려면 리눅스알아야하나요? [0] dqwq 2024-12-20 14:59:14 293
dqwq | 2024-12-20 14:59:14 | 293 hits
16 비트코인으로 돈번 썰 (스압) [0] 응딩이 2024-12-20 14:58:07 319
응딩이 | 2024-12-20 14:58:07 | 319 hits
15 출동! 오토봇! [0] 김자동 2024-12-18 14:33:10 308
김자동 | 2024-12-18 14:33:10 | 308 hits
12 IT에 대해 제대로 알려주겠다. [0] 개발자 2024-12-13 14:09:22 291
개발자 | 2024-12-13 14:09:22 | 291 hits
10 안녕하세요, 컴공진학 희망하는 급식이 입니다. [1] 3 프린이 2024-10-22 13:39:09 337
프린이 | 2024-10-22 13:39:09 | 337 hits
9 광주 사는 앱쟁이 입니다. [2] 1 앱마스터 2024-10-19 21:12:20 361
앱마스터 | 2024-10-19 21:12:20 | 361 hits