|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
#include <string.h>
typedef struct
{
unsigned char aa;
unsigned char bb;
unsigned char *p;
}sys_par_str;
sys_par_str sys_par;
void Uart_Send(unsigned char *in, unsigned char len)
{
unsigned char i;
if((NULL == in) || (0 == len))
{
return;
}
//1.怎样把*in这个指针赋给结构体里的*p这个指针 *in和*p 在这里表达有没有问题
for(i=0; i < len; i++)
{
//2.怎样通过仿真*p这个指针,把数组打印出来
}
}
void main()
{
static unsigned char arr[5]={7,8,9,10,11};
Uart_Send((unsigned char*)arr,sizeof(arr)/sizeof(arr[0]));
system("pause");
}
如果要通过结构体指针成员 `sys_par.p` 打印数组元素,可以使用以下代码:
- for (i = 0; i < len; i++) {
- printf("%d ", *(sys_par.p + i));
- }
- printf("\n");
复制代码
完整的示例代码如下:
- #include <stdio.h>
- #include <stdlib.h>
- typedef struct {
- unsigned char aa;
- unsigned char bb;
- unsigned char *p;
- } sys_par_str;
- sys_par_str sys_par;
- void Uart_Send(unsigned char *in, unsigned char len) {
- unsigned char i;
- if ((NULL == in) || (0 == len)) {
- return;
- }
- sys_par.p = in; // 将指针赋给结构体的指针成员
- for (i = 0; i < len; i++) {
- printf("%d ", *(sys_par.p + i)); // 打印数组元素
- }
- printf("\n");
- }
- int main() {
- static unsigned char arr[] = {7, 8, 9, 10, 11};
- Uart_Send(arr, sizeof(arr) / sizeof(arr[0]));
- system("pause");
- return 0;
- }
复制代码
运行程序后,将会打印出数组的元素。
希望对你有所帮助!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
|
|