380091044 发表于 2024-2-10 16:54:51

跑系统时,任务中*( long*)p_arg怎么理解?代码如下:

跑系统时,任务中*( long*)p_arg怎么理解?代码如下:

void Task_A(void *p_arg) reentrant //reentrant声明的函数为可重入函数
{
//    longv;
//    v = *( long*)p_arg;
//    printf("p_arg=%ld\n",v);
    p_arg = p_arg;
}

CosyOS 发表于 2024-2-10 19:08:35

本帖最后由 CosyOS 于 2024-2-10 19:16 编辑

p_arg 为任务形参,用于创建任务时传递给任务一个初始参数,类型为 void *(void类型指针)。
*(long *)p_arg,意为 先把 p_arg 强制转换为 long *(long类型指针),再访问数据(数据类型为 long)。

指针为C语言进阶的突破口,应加强学习和应用,并在应用中逐渐掌握。

380091044 发表于 2024-2-10 20:11:20

CosyOS 发表于 2024-2-10 19:08
p_arg 为任务形参,用于创建任务时传递给任务一个初始参数,类型为 void *(void类型指针)。
*(long *)p_a ...

感谢老师的谆谆教导,我会努力,
页: [1]
查看完整版本: 跑系统时,任务中*( long*)p_arg怎么理解?代码如下: