威纶通官方论坛

宏子函数能不能用指针做为传递参数?

[复制链接]
发表于 2012-4-13 09:33:51 | 显示全部楼层 |阅读模式
unsigned short int myFunc(unsigned char *ptr)
{
      Unsigned int TL;
     TL=        *ptr+*(ptr+1);
     Return TL
}
Main
{
     unsigned char data[10]={10,11,12,14,15,15,45};
     unsigned int da;
    da= myFunc(data)--------其中data 为data数组的首地址,那么da应该等于10+11=21
}

上面 的myFunc 用宏怎样写?
 楼主| 发表于 2012-4-13 09:38:07 | 显示全部楼层
跟CRC(source[start], result, data_count)一样的,
 楼主| 发表于 2012-4-13 09:38:48 | 显示全部楼层
能不能贴出 CRC(source[start], result, data_count) 函数原型?
 楼主| 发表于 2012-4-16 08:52:17 | 显示全部楼层
没人知道吗?
发表于 2012-4-17 11:33:20 | 显示全部楼层
同问,我用了指针在调用时也不能用请问大神们这个宏命令里面没有关于指针的使用的定义吗?还有就是define命令也不可以使用吗?
发表于 2012-4-18 14:46:23 | 显示全部楼层
宏里面不支持指针,可以用数组里面的变量下标。
define宏定义命令不支持。
 楼主| 发表于 2012-4-18 18:55:41 | 显示全部楼层
变量下标是什么?
我想实现CRC(source[start], result, data_count) 一样的功能 怎样写子函数?
比如 CRC12(source[start], result, data_count) 怎样写?
发表于 2012-4-19 10:34:54 | 显示全部楼层
source[start],在宏里面可以下source[0],source[1],source[2],source[3],也可以写source[i],这样下标就是变量了 。
 楼主| 发表于 2012-4-19 18:29:31 | 显示全部楼层
谢谢,今晚试试
 楼主| 发表于 2012-4-21 11:50:50 | 显示全部楼层
怎样在一个子函数中处理一个数组,能不能写个示例!!
下面的例子怎样用宏怎样写
sub unsigned int  myFunc(unsigned char source[i],unsigned char len )
{
      unsigned int TL
     TL= source[0]+source[1]+source[2]+......source[len-1]
     Return TL
}

main
unsigned char data[5]={1 , 2,3,4,5}
unsigned int TT
TT=(data[0],5)

end main
 楼主| 发表于 2012-4-21 11:51:45 | 显示全部楼层
能不能实现,给个实话!
发表于 2020-9-11 16:05:21 | 显示全部楼层
真特么垃圾,8年了,一点没变
您需要登录后才可以发帖 登录 | 注册

本版积分规则

回复帖子

Archiver|小黑屋|威纶通官网 ( 粤ICP备06054553号 )

GMT+8, 2024-11-21 21:12

Powered by Discuz! X3.4

© 2001-2023 Comsenz Inc.

快速回复 返回顶部 返回列表