| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1234 人关注过本帖
标题:请教移动结构体指针的写法区别
只看楼主 加入收藏
韩明海
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:253
专家分:749
注 册:2010-4-3
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:11 
请教移动结构体指针的写法区别
(struct nlattr)((char *)nla + totlen);
nla是一个结构体数组,
totlen=sizeof(struct nlattr);
请问这么写和 (nla + 1)  有什么区别或者好处么?
我是看一个内核源码这么写的
搜索更多相关主题的帖子: 结构体 
2011-02-25 17:11
huangapple
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:545
专家分:1790
注 册:2010-12-30
收藏
得分:4 
好像没什么区别,但是这样写可读性比较高吧

勤能补拙,熟能生巧!
2011-02-25 17:19
犬虫门心
Rank: 8Rank: 8
来 自:西安
等 级:蝙蝠侠
帖 子:209
专家分:753
注 册:2011-1-25
收藏
得分:4 
我没看仔细。

当一名对得起学生学费的老师,一直是我的目标!我会更努力的!
2011-02-25 17:24
犬虫门心
Rank: 8Rank: 8
来 自:西安
等 级:蝙蝠侠
帖 子:209
专家分:753
注 册:2011-1-25
收藏
得分:0 
回复 3楼 犬虫门心
(struct nlattr)((char *)nla + totlen);
有问题吧?
(struct nlattr *)((char *)nla + totlen);
是不是少了个“*”?

当一名对得起学生学费的老师,一直是我的目标!我会更努力的!
2011-02-25 17:27
韩明海
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:253
专家分:749
注 册:2010-4-3
收藏
得分:0 
回复 4楼 犬虫门心
哦,对
2011-02-25 17:29
犬虫门心
Rank: 8Rank: 8
来 自:西安
等 级:蝙蝠侠
帖 子:209
专家分:753
注 册:2011-1-25
收藏
得分:0 
2楼说的我也同意,但是,因为是核心源码的东西,所以总感觉是不是有“阳谋”?
希望有高手解惑!

当一名对得起学生学费的老师,一直是我的目标!我会更努力的!
2011-02-25 17:32
点线面
Rank: 8Rank: 8
来 自:NO.-1
等 级:蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
收藏
得分:12 
打铁进行时
#include<stdio.h>

int main()
{
   short int  i=0;
        int j=4, n=5;


       printf("%d %d %d\n",*((short int *)(&n+6)),*((int *)(&n-0)),*((int *)(&n+3)));
       printf("%d %d %d\n",&i,&j,&n);

           getchar();
           getchar();

           return 1;
}
贴图:
   
图片附件: 游客没有浏览图片的权限,请 登录注册


小代码,大智慧
2011-02-25 18:02
韩明海
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:253
专家分:749
注 册:2010-4-3
收藏
得分:0 
回复 7楼 点线面
为什么相邻定义的两个变量的地址相差12啊?
你的回答和我的问题是什么关系
2011-02-25 18:11
点线面
Rank: 8Rank: 8
来 自:NO.-1
等 级:蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
收藏
得分:0 
以下是引用韩明海在2011-2-25 18:11:00的发言:

为什么相邻定义的两个变量的地址相差12啊?
你的回答和我的问题是什么关系
地址这些都是编译器负责给出来,我们利用它们就行。

小代码,大智慧
2011-02-25 18:23
韩明海
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:253
专家分:749
注 册:2010-4-3
收藏
得分:0 
回复 9楼 点线面
那就是说你是认同#2的说法是吧,你能给我讲一下12的来历么?
2011-02-25 18:28
快速回复:请教移动结构体指针的写法区别
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040892 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved