成功 test_led.ko+api !!! 但是还有疑惑 关于 指针和地址 问题

 

优先级问题:

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时,表示的是取得的变量

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值