| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 322 人关注过本帖
标题:求助,如何在函数中对数组的位置进行移动
只看楼主 加入收藏
workhard123
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-11-20
结帖率:0
收藏
已结贴  问题点数:20 回复次数:3 
求助,如何在函数中对数组的位置进行移动
我的想法就是在子函数中对要输出的数组的位置进行移动,函数如何记录数组的位置

程序代码:
unsigned char send_buf[375]=
{
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,
0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,
0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,
0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F,
0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,
0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F,
0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,
0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0x00,0x01,0xEB,0x90,

0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,
0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,
0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,
0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F,
0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,
0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F,
0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,
0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0x00,0x02,0xEB
};
//,0x90

void send_once(int len,unsigned char *p)
{
     int i=0;
    
    for (i=0;i<len;i++)
    {
        printf("%x ",p[i]);
    }
}
void send_func(int *send_len,unsigned char *p_buf)
{

      if(*send_len>188)
      {
        *send_len = *send_len - 188;
        send_once(188,p_buf);
        p_buf = p_buf -188;
     
      }
      else
      {
          printf("running here!\n");
          send_once(*send_len,p_buf);
          printf("send_len:%d \n",*send_len);
          
      }


      

}
void main(void)
{

 
  
   int i=0;
   int t_len=375;
   for(i=0;i<2;i++)
   {
      send_func(&t_len,send_buf);
   }
    while(1);

}


[ 本帖最后由 workhard123 于 2013-11-20 17:22 编辑 ]
搜索更多相关主题的帖子: 如何 
2013-11-20 17:21
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
收藏
得分:10 
unsigned char send_buf[375]
unsigned char 你想过能存几个数?为什么不用int 或是short
你的目的是什么?
2013-11-20 17:48
workhard123
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-11-20
收藏
得分:0 
回复 2楼 heroinearth
感谢回复 整个功能就是完成对数组send_buf中数据的以188字节打印,不足188的就按照剩余数打印,在main函数中调用send_func(),我知道无法完成上述功能,因为传递给形参的永远send_buf,指针无法向后移动188,我就想如何在send_func()中实现对send_buf中指针的移动,不知道我表述清楚没,谢谢
2013-11-20 21:00
pink_duo
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:209
专家分:1054
注 册:2013-11-5
收藏
得分:10 
参数有传值和传地址,这里指针相当于传值,传入的指针参数本身是不会变化

[ 本帖最后由 pink_duo 于 2013-11-21 11:50 编辑 ]

埋头做牛,抬头做人,低头做狗
2013-11-21 11:42
快速回复:求助,如何在函数中对数组的位置进行移动
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018024 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved