-> 在c语言中是什么意思?
发布网友
发布时间:2022-04-26 04:22
我来回答
共12个回答
热心网友
时间:2022-04-08 03:08
“->”是一个整体,它是用于指向结构体子数据的指针,用来取子数据。
换种说法,如果我们在C语言中定义了一个结构体,然后申明一个指针指向这个结构体,那么我们要用指针取出结构体中的数据,就要用到“->”。
问题中的p=p->next ,意思是将p指向的一个结构体实例中的自数据next赋值给p。
扩展资料
struct 结构体类型名 *指针名;//结构体指针
struct 结构体类型名 *指针名 = &一个结构体的名字;//结构体指针并赋初值
struct 结构体类型名 *指针名 = new struct 结构体类型名;//结构体指针并用new申请内存
struct 结构体类型名 *指针名 =(struct 结构体类型名 *)malloc(sizeof(struct 结构体类型名))//结构
体指针并用malloc申请内存 使用应包含头文件stdlib.h
//对象指针的定义方法略同。
参考资料:百度百科 ->
热心网友
时间:2022-04-08 04:26
举个例子:
struct Data
{
int a,b,c;
}; /*定义结构体*/
struct Data * p;/*定义结构体指针*/
struct Data A = {1,2,3};/*声明变量A*/
int x;/*声明一个变量x*/
p = &A ; /*让p指向A*/
x = p->a;/*这句话的意思就是取出p所指向的结构体中包含的数据项a赋值给x*/
/*由于此时p指向A,因而 p->a == A.a,也就是1*/
热心网友
时间:2022-04-08 06:01
“->”是一个整体,它是用于指向结构体子数据的指针,用来取子数据。
换种说法,如果我们在C语言中定义了一个结构体,然后申明一个指针指向这个结构体,那么我们要用指针取出结构体中的数据,就要用到“->”。
问题中的p=p->next ,意思是将p指向的一个结构体实例中的自数据next赋值给p。
热心网友
时间:2022-04-08 07:52
如果一个指针被定义为结构类型,那么要想获取这个指针所指向的结构里的内容就要用到->
例如:
struct
something
{int
a;
float
b;
}
number;
something
*nptr
=
&number
//指向name结构类型的指针
int
A
=
nptr->a;
float
B
=
nptr->b;
//通过->来获取nptr所指向的puppy的a和b
/*而不是用
int
A
=
nptr.a;
int
B
=
nptr.b*/
热心网友
时间:2022-04-08 10:00
是条件运算符。条件运算符是c语言中唯一的三目运算符,就是说他有三个运算对象。条件运算符的形式是“?:”由他构成的表达式称为条件表达式。形式为:
表达式1?表达式2:表达式3
运算功能是。先计算表达式1的值,若值为非0,则计算表达式2的值,并将表达式2的值作为整个条件表达式的结果;若表达式1的值为0,则计算表达式3的值,并将表达式3的值作为整个条件表达式的结果。
比如有以下条件表达式
(a>b)?a+b:a-b
a=8
b=4时,计算a+b=12
,所以表达式结果为12
a=4
b=8时,计算a-b=-4,所以表达式结果为-4
热心网友
时间:2022-04-08 12:25
结构的成员。
typedef struct stu{
int id;
char name[40];
int mark[4];
float total;
} STU;
STU *s; // 结构STU,对象 是 指针 *s 时
// 它的成员id,total,mark[0],...mark[3]:
s->id
s->total
s->mark[0],...,s->mark[3],
热心网友
时间:2022-04-08 15:06
指向的意思吧,指针用常用的比如说指针p (*p)->b,b=8
就是说p指向内存b=8的这块内存
热心网友
时间:2022-04-08 18:04
->指向符号,一般在指针和结构体都会见到。
热心网友
时间:2022-04-08 21:36
收藏答案的
热心网友
时间:2022-04-09 01:24
^按位异或的意思。就是“不同为1
热心网友
时间:2022-04-09 05:28
指针就是指向一个特定内存地址的一个变量。简单的说可以理解为一个一维的线性空间,其中的每一个数对应一个存储单元,就是1个字节。指针有两个性质:指向性和偏移性。指向性指的是指针一定要有一个确定的指向,偏移性就是说指针可以加上一个数后偏移位置!指向别的存储空间。
指针的应用往往体现在数组,我们从数组开始解释指针的偏移。数组就是许多的变量,它的一个重要特征就是在内存空间中连续地存放,而且是按下标顺序存放。比如我们定义一个有100个变量的一维整型数组,它一定从内存的某一个存储单元(这个存储单元是电脑随机分配的)开始按数组下标顺序存放,连续占用100*4=400个字节。当我们定义一个数组时,系统就会自动为它分配一个指针,这个指针指向数组的首地址。
为了让系统了解每一次指针偏移的单位,也为了方便编程人员进行指针偏移(让编程人员记住一个整形变量占用4字节,一个字符型变量占用1字节……等等是很麻烦的),不用每次去计算要偏移多少个字节,C语言引入了指针的基类型的概念。基类型的作用就是*让系统了解某个指针每次偏移的字节数*。比如,对于一个字符型指针,它每次偏移(比如p=p+1)所起到的作用就是让指针偏移1个字节;而对于一个整型指针,它每次偏移就应该是4个字节。这样操作数组时就带来了方便。比如对于一个指向某个整型数组起始存储单元(称为首地址)的指针p,p=p+1就表示将该指针指向这个数组的下一个元素的存储单元,即向后移动4字节,而不仅仅是移动一个存储单元(即移动1字节)。
参考:http://blog.renren.com/share/260314402/969350520
热心网友
时间:2022-04-09 09:50
->在C语言中称为间接引用运算符,是二目运算符,优先级同成员运算符“.”。
用法:
p->a,其中p是指向一个结构体的指针,a是这个结构体类型的一个成员。表达式p->a引用了指针p指向的结构体的成员a。
例如:
struct T
{
int a;
char b;
}s;
struct T* p=&s;
那么,
p->a相当于s.a。
显然,有个等价写法:(*p).a,和p->a完全等效。
----
[原创回答团]
参考资料:原创
c语言中-gt;是甚么意思
x,y;}a-x指的是*(a.x),x必须是指针。a.y表示a的y这个值域。
c语言运算符中&表示什么运算符?
&在C语言中可能表示两种运算符。1、如果运算对象只有一个,且为右操作数,那么&为取地址运算符,结果为操作对象的地址。例如&a(假设a是一个左值,即具有具体的可访问的地址)结果为a的地址。2、如果运算对象有两个,那么&表示位与运算。结果中的每一个二进制位等于两个运算数的对应位置的二进制位...
&在c语言中是什么意思?
&:在C语言中有两种意思,一种是取地址符,是单目运算符;另一种是位运算符,表示“按位与”,是双目运算符。a&b表示啊a和b按位进行与运算。&后面是个变量。每个变量对应一块存储空间。每个存储空间有一个编号,也就是地址,&变量名表示取出这个编,变量名表示取出这个编号所对应的存储空间里的值...
C语言中算术运算符%,++,——,都是什么意思?能举例子说明吗?
C语言中,算术运算符“%”代表模(取余)运算,“++”代表变量自增运算,“--”代表变量自减运算。1、模运算“%”“模”是“Mod”的音译,模运算多应用于程序编写中。 Mod的含义为求余。模运算在数论和程序设计中都有着广泛的应用,从奇偶数的判别到素数的判别,从模幂运算到最大公约数的求法,...
在C语言中‘==、++、--、!=’各是什么意思
“==”就是把等于的意思而“=”是赋值运算符 例如; a==b,就是a等于b 而a=b,则是把b赋值给a ++i --i ( 在使用之前使i的值加(减1) 例如i的原值 i=3 则j=++i (i的值先加1变成4,在赋值给j,j的值现在是4)而 i++ i-- 例如j=i++ 则先是将i的值3赋给j,j...
c语言表示&&和||各表示什么
“&&”表示 与,意为同时都要满足。“||”表示 或,意为二者或多着只要满足其中一个。在C语言中,&&和||都属于逻辑运算符,并且都是双目运算符。逻辑运算符总共有3个,分别是"&&"、"||"和"!"。a && b,一假必假,结合性从左至右。||是逻辑或运算符,a || b,一真必真,结合性从左...
请问C语言中的"."、"*"、"->"、"&"都有什么作用和区别?
代表此时我们声明的变量时指针变量(指针变量的值是地址不是数据),a=&b;表示把变量b的地址赋给指针,此后的"&b",中的‘&’是取地址符号即变量b所在的内存单元的编号。使指针变量指向b所在的内存单元,那么要是用指针使用b的数据即3,可以使用:*a,此时的‘*’代表使用指针变量所指向的值,...
&在c语言中什么意思
&在c语言中是逻辑与的意思。&是逻辑语言,逻辑上表示两者属于缺一不可的关系,还可以表示一个人和另外一个人之意,与and同义。如A&B,表示A与B,A和B,A×B。在C语言中,&有三种作用,分别如下:1、取地址。单目运算符。用来取一个变量的地址。2、位操作中的与操作运算符。也就是常说的and...
C语言中 运算符&是什么意思?
&: 在C语言中有两种意思,一种是取地址符,是单目运算符;另一种是位运算符,表示“按位与”,是双目运算符。|: 是位运算符,表示“按位或”。资料扩展1、符号 & 和 | 这两个运算符都是二进制的按位操作符。&: 二进制“与”(都为1时,结果是1,否则是0。),比如:1010 & 1011 = 1010...
c语言中&&和||的区别
C语言是一门面向过程的计算机编程语言,与C++、C#、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码...