请教一个C语言数组包含有符号无符号变量问题

[复制链接]
3104|31
 楼主| itelectron 发表于 2016-6-22 17:16 | 显示全部楼层 |阅读模式
  1.              signed short  data0;       //
  2.              signed short  data1;       //
  3.              signed short  data2;       //
  4.              signed short  data3;       //
  5.              signed short  data4;       //
  6.            unsigned short  data5;       //
  7.            unsigned short  data6;       //
  8.            unsigned short  data7;       //
  9.            unsigned short  data8;       //
  10.            unsigned short  data9;       //


  11. void FUN()
  12. {
  13.   unsigned short *p;

  14.   p=&data[0];
  15.   
  16.   for(;d0<10;d0++)
  17.   {
  18.     *p=0;
  19.     p+=1;
  20.   }
  21. }  
 楼主| itelectron 发表于 2016-6-22 17:18 | 显示全部楼层
我记得以前有人说过用数组结构体可以实现这个功能 但是不知道具体怎么实现
 楼主| itelectron 发表于 2016-6-22 17:20 | 显示全部楼层
我想用数组的方式对这10个数据进行 操作!
JasonWangSE 发表于 2016-6-22 17:50 | 显示全部楼层
typedef struct _priv_data
{
    signed short     sdata[5];
    unsigned short  udata[5];
} PRIV_DATA;
你说的是类似这个意思吗?

统一定义成一个unsigned的数组,用的时候强制类型转换不可以吗?
 楼主| itelectron 发表于 2016-6-22 19:24 | 显示全部楼层
typedef struct
{
        signed short data0;
        signed short data1;
              signed short data2;
            unsigned short data3;
            unsigned short data4;
} Adata;

  Adata DATA_M;

int main(void)
{
  unsigned short *p;
        unsigned short Cnt;
       
        DATA_M.data0=1;
        DATA_M.data1=2;
        DATA_M.data2=3;
        DATA_M.data3=4;
        DATA_M.data4=5;
       
       

  p=(unsigned short *)&DATA_M;
  
  for(Cnt=0;Cnt<5;Cnt++)
  {
    *p=0;
    p+=1;
  }
       
       
       
        while(1)
        {
   
        }

}
 楼主| itelectron 发表于 2016-6-22 19:27 | 显示全部楼层
不知道还有没有其他 完美点  的解决方法
cuya 发表于 2016-6-22 20:23 | 显示全部楼层
强制。

p1 = (short*) &data0;
p2 = (unsigned short*) &data0;
p1[0] = 0;
p1[1] = 1;
p2[0] = 0xFFFF;
p2[1] = 0xFFFE;
ayb_ice 发表于 2016-6-22 20:25 来自手机 | 显示全部楼层
用共用体
lxyppc 发表于 2016-6-22 20:33 来自手机 | 显示全部楼层
虽然看不懂你们在说什么
但感觉很厉害的样子
 楼主| itelectron 发表于 2016-6-22 21:11 | 显示全部楼层
反正好象是 结构体+数组能解决问题  但是  忘记了
 楼主| itelectron 发表于 2016-6-22 21:12 | 显示全部楼层

能不能举个例子
松哥无敌 发表于 2016-6-22 21:52 | 显示全部楼层
john_lee 发表于 2016-6-22 23:11 | 显示全部楼层
lxyppc 发表于 2016-6-22 20:33
虽然看不懂你们在说什么
但感觉很厉害的样子

这种不明觉厉的帖子,我一般只能掩面路过。
lgq1542380129 发表于 2016-6-23 09:17 | 显示全部楼层
union
{
       unsigned  short  data_0[5];

       struct
      {
           unsigned short data0;
                        .
                        .
                        .
           unsigned short data4;
      }data_1;

}data_2;
cuya 发表于 2016-6-23 09:51 | 显示全部楼层
这些都是最最基本的 c/c++ 问题, 如果不懂, 那么一定是没有认真学习读书。
shauew 发表于 2016-6-23 10:09 | 显示全部楼层
lgq1542380129 发表于 2016-6-23 09:17
union
{
       unsigned  short  data_0[5];

联合体正解
whtwhtw 发表于 2016-6-23 11:56 | 显示全部楼层
嗯,联合体
delin17 发表于 2016-6-23 13:49 | 显示全部楼层
typdef union
{
       unsigned  short  u16data[10];
       short  i16data[10];     
}data_2;

u16data和i16data指到一个地方,如果你想取u16就是u16data, 想用i16就用i16data

 楼主| itelectron 发表于 2016-6-23 20:42 | 显示全部楼层
cuya 发表于 2016-6-23 09:51
这些都是最最基本的 c/c++ 问题, 如果不懂, 那么一定是没有认真学习读书。 ...

没有看你解决问题却在说大话
cuya 发表于 2016-6-23 21:14 | 显示全部楼层
itelectron 发表于 2016-6-23 20:42
没有看你解决问题却在说大话

坦率地说, 这种不明觉厉的帖子,我应该像13楼那样只能掩面路过。

不是我说你,你的问题根本不算什么技术问题, 你现在需要的是表达能力, 即如何用中文清晰准确的表述你所遇到的问题。

”请教一个C语言数组包含有符号无符号变量问题“ , 可你整篇没有提到你遇到了什么问题, 是溢出了呢, 还是符号转换出错呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

274

主题

2761

帖子

8

粉丝
快速回复 在线客服 返回列表 返回顶部