优先级问题:
struct example{
longnt idnumber;
char *name;
}guo;
对于*guo.name形式,由于运算符"." > "*",所以,*guo.name等价于*(guo.name)其含义是访问guo.name的目标变量。
struct test_led_dev={
struct cdev cdev;
};
struct test_led_dev *devp;//定义一个指针的结构体变量
cdev_init(struct cdev *cdev,struct file_operations *flip);
cdev_init(&dev->cdev ,&test_led_fops)等价于cdev_init(&(dev->cdev),&test_led_fops);
&dev->cdev 等同于 &((*dev).cdev) c语言当初没有过关 悲剧了一个晚上
当我们取&(dev->cdev)时,取得的是指针dev指向cdev的变量,在&,表示 最终取得的 是 地址
可以类似的说:
int *a; //指针没有分配内存
struct test_led_dev *devp; //指针b没有分配内存,
devp=kmalloc(sizeof(struct test_led_dev),GFP_KERNEL); //指针b指向分配内存的地方
当devp->cdev时,表示的是取得的变量