Re: [問題] 請問union和call by value問題
※ 引述《liptonbin (CATWILLFLY)》之銘言:
: 請問一下
: union structure{
: unsigned short a;
: unsigned short b[2];
: unsigned short c;
: } data;
: int d,e;
: data.a=2;
: data.c=4;
: d=data.a;
: 為什麼算出來d=4 ?
union :
a---+
__ __ __ __
c---+
b---------+
: 和
: void func(int b[])
: {
: b[0]=6;
: }
: main()
: {
: int a,b[5];
: a=4; b[0]=3;
: func(b);
: printf("%d \n",b[0]);
: }
: 這不是call by value嗎 那怎麼結果是6呢 (而不是依造call by value 得到3)_
: 謝謝
b : 0x89abcdef
func( 0x89abcdef)
{
*0x89abcdef = 6
}
--
我是大象
永遠的大象...
象象共和國國王 . Hudson
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.73.243.167
推
02/09 01:48, , 1F
02/09 01:48, 1F
→
02/09 01:49, , 2F
02/09 01:49, 2F
→
02/09 01:50, , 3F
02/09 01:50, 3F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章