C语言问题,和struct有关

struct led_operations *get_board_led_opr(void)

{

return &board_demo_led_opr;

}

百度找不到这种用法,结构体这种用法理论是什么?只能猜到当函数用,但函数也能这么定义?对应的理论知识点是什么
请先 登录 后评论

最佳答案 2020-07-28 08:28

struct led_operations *get_board_led_opr(void)首先要理解这个函数,函数一般关注的无非就是这个函数的参数,返回值,以及函数名,函数名其实就是这个函数在内存中存储的地址。然后你在看你这个函数,这是一个返回值为led_operations 结构体指针类型的函数,没有参数,这个函数内部是return &board_demo_led_opr,board_demo_led_opr这个是一个led_operations类型的结构变量,而我们函数要求返回的是一个led_operations结构体类型的指针,所以加一个&取地址符号。你的误区应该是board_demo_led_opr这个东西,这是一个结构体变量,不是函数,结构体变量可以通过.号来赋初值这是C99里的用法,你百度的时候加个C99关键字就可以百度到

请先 登录 后评论

其它 0 个回答

  • 1 关注
  • 0 收藏,994 浏览
  • yangyin 提出于 2020-07-27 11:10

相似问题