에서 변수의 메모리 주소에 대한 관측은 ... 나는이 간단한 프로그램을 작성했습니다 (마녀는 아마도 메모리 문제를 발생)오히려 문제보다 질문이 C
결과를받은 후, 상기 메모리 (c
, x
, y
및 z
)에서의 각 변수의 위치를 표시하면 다음 다중 기능들을 곱하고,이 프로그램에 입력을) C 2 개 INT 변수를 개발한다.
나는 (내 경우) 사람들은 결과이다이 간단한 예제를 테스트 한 : 당신이 볼 수있는
The Memory adresse of c is : 2293556
The Result of the multiplication is : 12
The Memory adresse of x is : 2293620
The Memory adresse of y is : 2293616
The Memory adresse of z is : 2293612
, 메인 함수에서 선언 된 세 개의 변수 x
, y
, z
폐쇄했다 메모리 주소 (22936xx), 다중 함수에서 선언 된 변수 c는 다른 주소 (22935xx)를가집니다. (: &x-&y=4
, &y-&z=4
즉)에 x
, y
및 z
변수를보고
, 우리는 각각 두 변수 사이에 4 바이트의 차이가 있음을 볼 수 있습니다.
제 질문은 왜 두 변수의 차이가 4입니까?
'(int)'로 먼저 캐스팅하지 않는 한 포인터 값을 출력하는 데'% d '을 사용하는 것은 잘못된 것입니다. 대신'% p'를 사용하십시오. –
감사합니다. 포인터를 사용하려고했는데 캐스트 오류가 발생했습니다. – SmootQ