( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
( 未必需要依照此格式,文章條理清楚即可 )
遇到的問題: 不了解位址算出來的結果是如何算的
希望得到的正確結果:解釋讓我懂
程式跑出來的錯誤結果:沒錯
開發平台: Dev-C++
有問題的code:
#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int main(int argc, char *argv[])
{
struct employee
{
char id[7];
char name[20];
int salary;
};
struct employee manager = {"D12345","Peter",3500};
printf("&manager=%x\n",&manager);
//位址為22ff50
printf("&manager.id=%x\n",&manager.id);
//位址為22ff50
printf("&manager.name=%x\n",&manager.name);
//位址為22ff57
printf("&manager.salary=%x\n\n",&manager.salary);
//位址為22ff6c <-----這是怎麼算出來的?
printf("manager.id=%s\n",manager.id);
printf("manager.name=%s\n",manager.name);
printf("manager.salary=%d\n\n",manager.salary);
printf("&manager+1=%x\n",&manager+1);
//位址為22ff70 <-----這又是怎麼算出來的?
system("PAUSE");
return EXIT_SUCCESS;
}
補充說明:抱歉,初學者不懂指標的運作
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.160.19.219
→
01/09 12:03, , 1F
01/09 12:03, 1F
推
01/09 12:12, , 2F
01/09 12:12, 2F
→
01/09 12:15, , 3F
01/09 12:15, 3F
→
01/09 12:39, , 4F
01/09 12:39, 4F
推
01/09 12:55, , 5F
01/09 12:55, 5F
→
01/09 21:48, , 6F
01/09 21:48, 6F
討論串 (同標題文章)