搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 结构指针
标题:
结构指针
只看楼主
郭赛
等 级:
新手上路
帖 子:31
专家分:0
注 册:2017-12-9
结帖率:
77.78%
楼主
问题点数:0 回复次数:6
结构指针
struct point
{
int a[];
int b[];
char c[];
}a,b
struct *pa,*pb;
两种情况:① struct point *pa = &a;
② pb = &b;
为什么上面加上*,下面则没有?
搜索更多相关主题的帖子:
结构
指针
struct
point
pb
2017-12-10 19:02
吹水佬
等 级:
版主
威 望:
432
帖 子:10064
专家分:41463
注 册:2014-5-20
第
2
楼
得分:0
好象这样:
int a=123, b=456;
int *pa=&a;
int *pb;
pb = &b;
这样写好看点:
int* pa=&a;
但不能这样写:
int* pa=&a, pb=&b;
只能这样写:
int *pa=&a, *pb=&b;
2017-12-10 22:28
郭赛
等 级:
新手上路
帖 子:31
专家分:0
注 册:2017-12-9
第
3
楼
得分:0
回复 2楼 吹水佬
请问一下:
像int* pa=&a和int *pa=&a;是等价的么?
还有
int* pa=&a, pb=&b;
只能这样写:
int *pa=&a, *pb=&b;
这个算是C语言规定的么?
因为int *pa 的pa类型是int*啊。
2017-12-11 11:01
吹水佬
等 级:
版主
威 望:
432
帖 子:10064
专家分:41463
注 册:2014-5-20
第
4
楼
得分:0
回复 3楼 郭赛
从“声明”语法看:
int * pa; 从右到左看,变量名pa,左边有个 * ,声明变量 pa 是一个指针。
再看 * 左边是 int 类型符,声明 pa 指向的数据类型是int。
可见,int* pa和int *pa; 都是声明变量 pa 是指向数据类型int的指针。
int* pa, pb; 显然pa是int*,而pb左边无 * 是int。
所以只能这样写:
int *pa=&a, *pb=&b;
而不能写成:
int* pa=&a, pb=&b;
2017-12-11 12:02
郭赛
等 级:
新手上路
帖 子:31
专家分:0
注 册:2017-12-9
第
5
楼
得分:0
回复 4楼 吹水佬
你的意思是对于:int *a =&b;
*会与int结合作为一个声明么?
然后a=&b,就是赋值?
2017-12-11 14:04
forever74
来 自:CC
等 级:
贵宾
威 望:
49
帖 子:1636
专家分:3940
注 册:2007-12-27
第
6
楼
得分:0
看来明白了。
[此贴子已经被作者于2017-12-11 14:08编辑过]
对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2017-12-11 14:07
吹水佬
等 级:
版主
威 望:
432
帖 子:10064
专家分:41463
注 册:2014-5-20
第
7
楼
得分:0
以下是引用
郭赛
在2017-12-11 14:04:06的发言:
你的意思是对于:int *a =&b;
*会与int结合作为一个声明么?
然后a=&b,就是赋值?
int *a =&b; 是声明同时定义。
可以分开写好理解点:
int *a; 声明,*与a构成一个指针,int只是说明指针所指向的数据类型。
a = &b; 定义,指针a的地址属性是数据b的地址。
2017-12-11 14:59
7
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-483279-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.184308 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved