当前位置: 技术问答>linux和unix
linux的调用结构体的问题
来源: 互联网 发布时间:2016-11-05
本文导语: 最近试着写一个pci驱动,遇到一个问题:我在调用了一个结构体pci_dev,它是在系统的头文件pci.h中定义的,我也把头文件包括进来了!然后我想调用它的成员变量,比如: struct pci_dev { …… unsigned int devfn; ...
最近试着写一个pci驱动,遇到一个问题:我在调用了一个结构体pci_dev,它是在系统的头文件pci.h中定义的,我也把头文件包括进来了!然后我想调用它的成员变量,比如:
struct pci_dev
{
……
unsigned int devfn;
……
}
然后我定义:
struct pci_dev *pdev;
prink(KERN_INFO"devfn is 5l n",*pdev.devfn);
编译报错,说:
request for member ‘devfn’ in something not a structure or union
这是怎么回事啊?
struct pci_dev
{
……
unsigned int devfn;
……
}
然后我定义:
struct pci_dev *pdev;
prink(KERN_INFO"devfn is 5l n",*pdev.devfn);
编译报错,说:
request for member ‘devfn’ in something not a structure or union
这是怎么回事啊?
|
pdev->devfn
|
(*pdev).devfn
这样也行。注意运算符优先级
这样也行。注意运算符优先级
|
我仔细一看,原来时调用出错了,楼主估计太不细心了,这个我一般是加个括号的!
|
pdev 分配空间没,如果仅仅是struct pci_dev *pdev后,调用printk是不行的。