社区
C语言
帖子详情
关于结构体指针的赋值
clleady
2009-09-08 08:42:23
struct sk
{in a;
int age;
}data,*p;
如果要使指针p指向data中的成员a,正确的赋值语句是p=(struct sk*)&data.a
为什么不是p=&data.a
谢谢~
...全文
308
11
打赏
收藏
关于结构体指针的赋值
struct sk {in a; int age; }data,*p; 如果要使指针p指向data中的成员a,正确的赋值语句是p=(struct sk*)&data.a 为什么不是p=&data.a 谢谢~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
生活简单到无聊
2009-09-09
打赏
举报
回复
o_0
atom_09
2009-09-09
打赏
举报
回复
类型问题
JK0803_lijixiang
2009-09-09
打赏
举报
回复
学习
gl007001
2009-09-09
打赏
举报
回复
学习
wissup
2009-09-09
打赏
举报
回复
首先,这样强转貌似可以,但是有可能会造成逻辑错误。
其次,如果指针虽然存储的都是地址,但是指针也是有类型的,不然编译器不知道是把多大区域当成一个独立的数据,这就是类型起的作用,一般指针都是指的首地址,然后加上类型,CPU才能正确的取得操作数,否则不是乱套了。
最后,如果LZ用到一些不严格的编译器,说不定两种写法都可以,因为p=&data.a 这样的,编译器会帮你强转的。
starcat
2009-09-08
打赏
举报
回复
虽然地址一样, 但是长度(类型)不一样。
p = &data;
p->a(或 data.a);
不就行了?有啥好转换的。
whg01
2009-09-08
打赏
举报
回复
&data.a 是得到一个int *指针,加上(struct sk*)是把指针类型转换成和p。
在内存中,data的地址和a的地址是一样的。
猫已经找不回了
2009-09-08
打赏
举报
回复
因为需要类型转换啊
fox000002
2009-09-08
打赏
举报
回复
这种无理的转换只会降低可读性
弄个 int * 类型指针不行吗
wanjingwei
2009-09-08
打赏
举报
回复
a是int型呀,肯定得转换
mstlq
2009-09-08
打赏
举报
回复
因为类型不一致……
必须强制转换……
C语言给
结构体指针
赋值
[借鉴].pdf
C语言给
结构体指针
赋值
[借鉴].pdf
通过为结构体
赋值
的方法直接写位图
本程序要构造的位图为24位bmp格式,通过直接为结构体BITMAPFILEHEADER和BITMAPINFOHEADER
赋值
的方式生成。本程序演示的功能比较片面,但也比较实用。如果面对大量的数据,特别是二维的数组,可以尝试将它们写成图像...
C语言结构体.ppt
定义结构体类型 定义结构体类型变量 引用结构体变量 给结构体变量
赋值
结构体的嵌套 结构体数组 指向结构体类型变量的指针
C结构体对齐详解(结构体成员对齐)
结构体数据成员指针对齐,通过指针偏移给数据成员
赋值
。
c语言如何将值赋给
结构体指针
,C语言给
结构体指针
赋值
《C语言给
结构体指针
赋值
》由会员分享,可在线阅读,更多相关《C语言给
结构体指针
赋值
(6页珍藏版)》请在人人文库网上搜索。1、指向结构体的指针 在C语言中几乎可以创建指向任何类型的指针,包括用户自定义的类型。...
C语言
69,373
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章