音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊(cè) 首頁(yè) | 行業(yè)黑名單 | 幫助
維庫(kù)電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

C中有5個(gè)變量,要求5個(gè)變量連續(xù)存放

作者:LXRLXR 欄目:單片機(jī)
C中有5個(gè)變量,要求5個(gè)變量連續(xù)存放
有5個(gè)變量,要求5個(gè)變量連續(xù)存放

有5個(gè)變量
unsigned CHAR x1;
unsigned CHAR x2;
unsigned int  y1;
unsigned CHAR y2;
unsigned int  z1;
1:要求5個(gè)變量連續(xù)存放
2:操作中需要把這5個(gè)變量整體移動(dòng)
3:在某些場(chǎng)合又需要單獨(dú)訪問(wèn)
4:在某些場(chǎng)合又需要用指針訪問(wèn)
  (如用p++或p--在5個(gè)變量中選擇)
本人定義了一個(gè)結(jié)構(gòu)
struct
{  unsigned CHAR x1;
   unsigned CHAR x2;
   unsigned int  y1;
   unsigned CHAR y2;
   unsigned int  z1;
}myram;
但好象無(wú)法達(dá)到以上4項(xiàng)要求。
再改成如下定義:
union
{  struct
   {  unsigned CHAR x1;
      unsigned CHAR x2;
      unsigned int  y1;
      unsigned CHAR y2;
      unsigned int  z1;
   }myram;
}mymyram;
但還是無(wú)法達(dá)到以上4項(xiàng)要求
請(qǐng)問(wèn)各位工程師有何高見?




2樓: >>參與討論
computer00
整體移動(dòng)做不到。除非自己寫一個(gè)函數(shù)。
 
3樓: >>參與討論
airwill
很簡(jiǎn)單啊
union
{  struct
   {  unsigned CHAR x1;
      unsigned CHAR x2;
      unsigned int  y1;
      unsigned CHAR y2;
      unsigned int  z1;
   }myram;
    unsigned CHAR mystring[7];
}mymyram;
   struct myram 對(duì)變量操作;mystring 可以移動(dòng)了。

其實(shí)大多不需要這么復(fù)雜,光定義結(jié)構(gòu)就可以了;整塊移動(dòng)使用強(qiáng)制的指針完成


4樓: >>參與討論
computer00
字符串似乎也不能整體移動(dòng)吧?如果也是一個(gè)個(gè)移動(dòng),
那還不如寫個(gè)函數(shù)(或者像可視畫編程中那樣,寫個(gè)方法),直接用指針訪問(wèn)就完事了。

5樓: >>參與討論
net_walker
re
定義結(jié)構(gòu)
typedef struct
{  unsigned CHAR x1;
   unsigned CHAR x2;
   unsigned int  y1;
   unsigned CHAR y2;
   unsigned int  z1;
}myram;
myram my_ram;
unsigned CHAR *pData;
unsigned CHAR string[7];
pData = &my_ram.x1;
memcpy(string,pData,sizeof(my_ram));//整體移動(dòng)

利用指針對(duì)結(jié)構(gòu)內(nèi)數(shù)據(jù)進(jìn)行操作。


* - 本貼最后修改時(shí)間:2005-6-14 13:49:10 修改者:net_walker

6樓: >>參與討論
meng730507
沒(méi)搞錯(cuò)吧??
你的幾個(gè)數(shù)據(jù),長(zhǎng)度不一致,怎么用指針呢?

7樓: >>參與討論
zysunol
sizeof
 
8樓: >>參與討論
雷風(fēng)
這是個(gè)好辦法
 
9樓: >>參與討論
kernelxu
在編譯器中設(shè)置兩字節(jié)對(duì)齊

#pragma pack(2)    //2字節(jié)對(duì)齊,方便指針操作

#include
//定義結(jié)構(gòu)體
typedef struct
{  unsigned CHAR x1;  //1字節(jié)空閑
   unsigned CHAR x2;  //1字節(jié)空閑
   unsigned int  y1;  
   unsigned CHAR y2;  //1字節(jié)空閑
   unsigned int  z1;
}myram;

myram ram1, ram2;
...
ram1 = ram2;        //這樣可以整體搬動(dòng)

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
請(qǐng)問(wèn)有沒(méi)有可以用51控制輸出PWM的芯片
電路這么接,會(huì)不會(huì)把單片機(jī)引腳燒壞?(圖)
請(qǐng)教用過(guò)8251擴(kuò)展串口的高手幫幫忙,很急.謝過(guò)了先
急求USB主機(jī)控制器驅(qū)動(dòng)程序
S52的I/O口驅(qū)動(dòng)能力比C52差嗎?
免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)