结构体中元素前面有.代表什么?

最近在学习linux中,发现内核源码中出现很多结构体元素前面加一点(.),后来查看资料发现原来就是给元素赋值的意思,话不多说,直接上代码

1、一般结构体赋值

struct student{
	int a;       //此处是分号
	int b;
};

struct stdent stu;

stu.a = 10;
stu.b = 20;

2、直接赋值

struct student stu{
	.a = 10,      //此处是逗号
	.b = 20,
};

3、linux内核源码体现

static struct file_operations test_fops = {
    .owner = THIS_MODULE,
    .open = chrtest_open,
    .read = chrtest_read,
    .write = chrtest_write,
    .release = chrtest_release,
};

通过上述对比,前面加一点就是正常的赋值操作,只不过写法让读者有点陌生

加一点另外的用处就是可以改变赋值的优先级,加一点就必须是先给owner赋值在给open赋值。

欢迎读者提出文章有误的地方,感谢!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值