|
开始以为数据类型以_t结尾就代表这是一个指针型变量,但后来发现并不是这样,比如rt_uint32_t就不是一个指针型变量。
并不是说把 rt_thread* 别名为 rt_thread_t不可以,只是很容易误导阅读者。
比如:
rt_thread_t thread;
thread = rt_thread_create("led1", rt_thread_entry_led1, RT_NULL, 512, 20, 5);
这样读者很容易误解为rt_thread_t是一个复杂的结构体数据类型(类似TCB),而rt_thread_create()返回的就是一个该复杂结构体数据类型。
其实,改成下面的方法可能会更易于阅读:
rt_thread* thread;
thread = rt_thread_create("led1", rt_thread_entry_led1, RT_NULL, 512, 20, 5);
这样读者就很容易理解,rt_thread_create()返回的是一个指针型变量,而其指向的是一个复杂的结构体数据类型,改实例真正占用的内存空间是在rt_thread_create()函数内动态分配完成的,函数返回的就是该动态分配空间的地址。
个人愚见,欢迎拍砖,谢谢! |
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|