打印

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

[复制链接]
2550|31
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
itelectron|  楼主 | 2016-6-22 17:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
             signed short  data0;       //
             signed short  data1;       //
             signed short  data2;       //
             signed short  data3;       //
             signed short  data4;       //
           unsigned short  data5;       //
           unsigned short  data6;       //
           unsigned short  data7;       //
           unsigned short  data8;       //
           unsigned short  data9;       //


void FUN()
{
  unsigned short *p;

  p=&data[0];
  
  for(;d0<10;d0++)
  {
    *p=0;
    p+=1;
  }
}  

相关帖子

沙发
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的数组,用的时候强制类型转换不可以吗?

使用特权

评论回复
5
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)
        {
   
        }

}

使用特权

评论回复
6
itelectron|  楼主 | 2016-6-22 19:27 | 只看该作者
不知道还有没有其他 完美点  的解决方法

使用特权

评论回复
7
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;

使用特权

评论回复
8
ayb_ice| | 2016-6-22 20:25 | 只看该作者
用共用体

使用特权

评论回复
9
lxyppc| | 2016-6-22 20:33 | 只看该作者
虽然看不懂你们在说什么
但感觉很厉害的样子

使用特权

评论回复
10
itelectron|  楼主 | 2016-6-22 21:11 | 只看该作者
反正好象是 结构体+数组能解决问题  但是  忘记了

使用特权

评论回复
11
itelectron|  楼主 | 2016-6-22 21:12 | 只看该作者

能不能举个例子

使用特权

评论回复
12
松哥无敌| | 2016-6-22 21:52 | 只看该作者

使用特权

评论回复
13
john_lee| | 2016-6-22 23:11 | 只看该作者
lxyppc 发表于 2016-6-22 20:33
虽然看不懂你们在说什么
但感觉很厉害的样子

这种不明觉厉的帖子,我一般只能掩面路过。

使用特权

评论回复
14
lgq1542380129| | 2016-6-23 09:17 | 只看该作者
union
{
       unsigned  short  data_0[5];

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

}data_2;

使用特权

评论回复
15
cuya| | 2016-6-23 09:51 | 只看该作者
这些都是最最基本的 c/c++ 问题, 如果不懂, 那么一定是没有认真学习读书。

使用特权

评论回复
16
shauew| | 2016-6-23 10:09 | 只看该作者
lgq1542380129 发表于 2016-6-23 09:17
union
{
       unsigned  short  data_0[5];

联合体正解

使用特权

评论回复
17
whtwhtw| | 2016-6-23 11:56 | 只看该作者
嗯,联合体

使用特权

评论回复
18
delin17| | 2016-6-23 13:49 | 只看该作者
typdef union
{
       unsigned  short  u16data[10];
       short  i16data[10];     
}data_2;

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

使用特权

评论回复
19
itelectron|  楼主 | 2016-6-23 20:42 | 只看该作者
cuya 发表于 2016-6-23 09:51
这些都是最最基本的 c/c++ 问题, 如果不懂, 那么一定是没有认真学习读书。 ...

没有看你解决问题却在说大话

使用特权

评论回复
20
cuya| | 2016-6-23 21:14 | 只看该作者
itelectron 发表于 2016-6-23 20:42
没有看你解决问题却在说大话

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

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

”请教一个C语言数组包含有符号无符号变量问题“ , 可你整篇没有提到你遇到了什么问题, 是溢出了呢, 还是符号转换出错呢?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

274

主题

2762

帖子

8

粉丝