社区
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么?应该如何理解?
...全文
324
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写文章
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
打赏
举报
回复
好,清除了
2小时精通C++智能
指针
本课程讲解C++11标准库中的智能
指针
。 对于C/C++程序员来说,
指针
是天堂,也是地狱。
指针
用得好程序运行效率倍增,用得不好问题层出不穷。 智能
指针
可以解决普通
指针
存在的悬垂
指针
、野
指针
、资源泄露等问题 本教程...
C语言
指向
结构
变量的
指针
和
指向
结构
数组的
指针
指向
结构
变量的
指针
: 一个
指针
变量当用来
指向
一个
结构
变量时,称之为
结构
指针
变量。
结构
指针
变量中的值是所
指向
的
结构
变量的首地址
结构
指针
变量说明的一般形式为: struct
结构
名 *
结构
指针
变量名 例如:struct stu *pstu; 赋值是把
结构
变量的首地址赋予该
指针
变量,不能把
结构
名赋予该
指针
变量
结构
名类似类,而
结构
变量类似对象,
结构
名和
结构
变量是两...
C++
指向
结构
体变量的
指针
C++通过
指向
结构
体变量的
指针
引用
结构
体变量中的成员 C++中,一个
结构
体变量的
指针
就是该变量所占据的内存段的起始地址,
指针
变量也可以用来
指向
结构
体数组中的元素。 C++提供了
指向
结构
体变量的运算符->,例如: p->num;//表示
指针
p当前
指向
的
结构
体变量中的成员num p->num 和(* p).num 等价,同样,p->namep->name等价于(*p).name。 在C++中,以下3种形式等价:
结构
体变量.成员名,如stu.num。 (*p).成员名,如( *
指针
数组和
指向
指针
的
指针
指针
数组和
指向
指针
的
指针
指针
数组
指向
指针
的
指针
带形参的main() 函数
指针
不仅可以
指向
普通变量,还可以
指向
数组或
指针
。
指针
数组 数组的每个元素都是一个
指针
数据的数组称为
指针
数组。
指针
数组是一组有序的
指针
的集合。
指针
数组的所有元素都必须是具有相同存储类型和
指向
相同数据类型的
指针
变量。
指针
数组说明的一般形式为: 类型说明符 *数组名[元素个数] 其中类型说明符为
指针
值所
指向
的变量的类型。例如 char *p[2];
指针
的存储形式如下 char array[2][10]; p[0]=array
C
指向
结构
体变量的
指针
(
结构
指针
变量)
一个
指针
变量当用来
指向
一个
结构
体变量时,称之为
结构
体
指针
变量。
结构
体
指针
变量中的值是所
指向
的
结构
变量的首地址。通过
结构
指针
变量即可访问该
结构
的变量。
结构
指针
变量说明的一般形式如下:struct
结构
名 *
结构
指针
变量名
结构
名和
结构
变量时两个不同的概念,不能混淆。
结构
名只能表示一个
结构
形式,编译系统并不会对它分配内存空间。只有当某变量被说明为这种类型的
结构
时,才对该变量分配存储空间。...
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章