C语言结构体指针成员所指向的变量如何访问?
3个回答
展开全部
结构体指针成员所指向变量,这个说法理解起来有点困难。
从字面意思上看断句,有如下几种可能:
首先定义一个包含所有可能情况的结构体:
struct test
{
int a;
int *p;
};
struct test t1, *t2;1
结构体/指针成员/所指向的变量。
结构体中有指针成员,然后要访问这个结构体成员指向的变量值。
那么可以*(t1.p)这种方式对p取值。
2
结构体指针/成员/所指向变量。
这种情况有两种方法可以访问:
*(t2->p)
或者
*(*(t2).p)
效果是一样的。
3
描述有误,实际为:
结构体指针所指向/成员变量。
同样有两种方法可以使用:
t2->p
或者
(*t2).p
从字面意思上看断句,有如下几种可能:
首先定义一个包含所有可能情况的结构体:
struct test
{
int a;
int *p;
};
struct test t1, *t2;1
结构体/指针成员/所指向的变量。
结构体中有指针成员,然后要访问这个结构体成员指向的变量值。
那么可以*(t1.p)这种方式对p取值。
2
结构体指针/成员/所指向变量。
这种情况有两种方法可以访问:
*(t2->p)
或者
*(*(t2).p)
效果是一样的。
3
描述有误,实际为:
结构体指针所指向/成员变量。
同样有两种方法可以使用:
t2->p
或者
(*t2).p
展开全部
1、既然是指针变量,那么将一个变量的地址值赋值给该指针变量即可!
2、至于具体讲一个地址值赋值给指针有两种方法:一种就是用取地址符&来操作内嵌变量,另一种就是通过采用malloc函数动态开辟内存并将内存地址值赋值给指针变量。
3、举例说明:定义int型指针变量int
*
p;和int型变量int
a;那么将a的地址值赋值给p:p=&a;另一种方式是动态方式:p
=
(int*)malloc(size(int));
2、至于具体讲一个地址值赋值给指针有两种方法:一种就是用取地址符&来操作内嵌变量,另一种就是通过采用malloc函数动态开辟内存并将内存地址值赋值给指针变量。
3、举例说明:定义int型指针变量int
*
p;和int型变量int
a;那么将a的地址值赋值给p:p=&a;另一种方式是动态方式:p
=
(int*)malloc(size(int));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为int是一个值类型的,所以不能直接赋值给p(p是int指针类型)。因此二楼加括号是对的。通过取p的地址转化成对应的指针,然后直接把b赋值给它。另外一种方法:a->p=&b;
//把b的地址赋值给a中的p指针。
//把b的地址赋值给a中的p指针。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询