[問題] VC,變數大小沒錯記憶體位置有問題
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
在DEV上沒錯,可是換成在VC上就有錯了
OS:XP SP3
問題(Question):
/* prog10_1, 印出變數於記憶體內的位址 */
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int a,b=5; /* 宣告變數a與b,但變數a沒有設定初值 */
double c=3.14;
printf("a=%4d, sizeof(a)=%d, 位址為%d\n",a,sizeof(a),&a);
printf("b=%4d, sizeof(b)=%d, 位址為%d\n",b,sizeof(b),&b);
printf("c=%4.2f, sizeof(c)=%d, 位址為%d\n",c,sizeof(c),&c);
system("pause");
return 0;
}
這是範力程式,輸出結果是
/* output--------------
a=-858993460, sizeof(a)=4 , 位址為1245024
b= 5, sizeof(b)=4 , 位址為1245012
c=3.14, sizeof(c)=8 , 位址為1244996
---------------------*/
記憶體位置那邊每個變數所佔的位置好像都多3倍
可是在DEV執行沒這個問題
請問是哪裡設定的問題嘛...
感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.121.5.118
推
10/25 22:44, , 1F
10/25 22:44, 1F
推
10/25 22:44, , 2F
10/25 22:44, 2F
→
10/25 22:44, , 3F
10/25 22:44, 3F
→
10/25 22:45, , 4F
10/25 22:45, 4F
推
10/25 22:52, , 5F
10/25 22:52, 5F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章