社区
C语言
帖子详情
指向结构的指针
不若人生一场醉
2007-04-26 11:10:42
typedef struct onestruct
{
int i;
int n;
}OneStruct;
OneStruct* P;//指向OneStruct的指针
访问字段的代码是这样
P->i和P->n
问题是为什么不是这样访问:
(*P)->i和(*P)->n
P->i这样访问是C的默认约定么?那么对于这样:OneStruct** P,指向结构指针的指针该如何访问字段,照我的理解应该这样访问(**P)->i,无法编译通过,正确的方法是这样(*P)->i么?应该如何理解?
...全文
335
6
打赏
收藏
指向结构的指针
typedef struct onestruct { int i; int n; }OneStruct; OneStruct* P;//指向OneStruct的指针 访问字段的代码是这样 P->i和P->n 问题是为什么不是这样访问: (*P)->i和(*P)->n P->i这样访问是C的默认约定么?那么对于这样:OneStruct** P,指向结构指针的指针该如何访问字段,照我的理解应该这样访问(**P)->i,无法编译通过,正确的方法是这样(*P)->i么?应该如何理解?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
南京大白蔡
2007-04-26
打赏
举报
回复
以下3种形式等价:
1、结构体变量.成员名
2、(*p).成员名
3、p->成员名
其中p是指向该结构体变量的指针
飞哥
2007-04-26
打赏
举报
回复
指针类型才用 ->
非指针类型用 .
你OneStuct *p,这里p是指针类型,所有要用 ->
而你将它(*p) 括号之后,它就是一个非指针类型,表示p指向的结构内容,应为 .
同样道理
OneStruct **p 是 指针,而 (**p)是一个非指针类型,表示p指向的结构内容,应为 .
(*p)是一个指针类型........
intuition444
2007-04-26
打赏
举报
回复
对于一个指向结构体的指针,标准写法是这样,(*p).i
但是这样写毕竟很麻烦,所以C标准提供了一种更简便的写法,就是p->i;
对于**p这样的二级指针,那么*p保存的就是结构体地址了(不同于单指针中,是p保存地址),所以双指针想引用到结构体里的数据就应该这样写(*p)->i或者(**p).i
lidongri
2007-04-26
打赏
举报
回复
(**P)->i
--
(**P).i
lidongri
2007-04-26
打赏
举报
回复
P是一个指针
*P是值
(*P).i
不若人生一场醉
2007-04-26
打赏
举报
回复
好,清除了
C/C++
指针
的13份资料
C/C++
指针
的13份资料 内容丰富,让编程人员不再害怕
指针
C/C++
指针
经典资料大全
C/C++
指针
经典资料大全,十余部经典资料书籍,是您精通C
指针
的理想教程。
C语言
指向
结构
变量的
指针
和
指向
结构
数组的
指针
指向
结构
变量的
指针
: 一个
指针
变量当用来
指向
一个
结构
变量时,称之为
结构
指针
变量。
结构
指针
变量中的值是所
指向
的
结构
变量的首地址
结构
指针
变量说明的一般形式为: struct
结构
名 *
结构
指针
变量名 例如:struct stu *pstu; 赋值是把
结构
变量的首地址赋予该
指针
变量,不能把
结构
名赋予该
指针
变量
结构
名类似类,而
结构
变量类似对象,
结构
名和
结构
变量是两...
结构
--
指针
结构
指针
作为函数的参数,要求对应的形参是一个同类型的
结构
指针
,此时实参向形参传递的是
结构
指针
的值,系统会为形参
指针
分配一个内存单元来存放实参
结构
指针
变量的内容。
结构
指针
可以
指向
一个同类型的
结构
变量,但是不能
指向
结构
变量的某一成员,如果要将某一成员的地址赋给
结构
指针
,则需要用强制类型转换,先将成员的地址转换成
结构
指针
的类型。(*p).n:得到p
指向
的
结构
变量str的成员n的值p->n:得到p
指向
的
结构
变量str的成员n的值。p->n十十:得到p
指向
的
结构
变量str的成员n的值,然后使成员n的值加1.
对C语言
结构
数组
指向
结构
变量的
指针
指向
结构
数组的
指针
一、
结构
数组的定义数组的元素可以是
结构
类型的。
结构
数组的每一个元素都是具有相同的
结构
类型的下标
结构
变量。在实际应用中,经常用
结构
数组来表示具有相同数据
结构
的一个群体。 如:一个班的学生的档案,一个车间职工的工资等。struct stu { Int num; char *name; char sex[20]; float score; }boy[5];定义了一个
结构
数组boy,共有5个元...
C语言
70,023
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章