C语言中-是什么意思啊,C语言里面这个符号(->)是什么意思?怎么用?

2021-02-05 17:05:51 字数 5980 阅读 3037

1楼:浙江卫健科技****

叫问号表达式

原型:表达式1 ? 表达式2 : 表达式3意思判断表达式1否真真则执行表达式2否则执行表达式3籂虎焚臼莳铰锋歇福忙

例:max = (a > b ? a : b);

句意思ab较数赋值给max

c语言中->是什么意思啊?

2楼:绻語

“bai->”是一个整体,它主要用于du指向结构体、zhic++中的class等含有子数dao据的指针用来专取子数据。

换种说属法,如果我们在c语言中定义了一个结构体,然后申明一个指针指向这个结构体,那么我们要用指针取出结构体中的数据,就要用到“->”。

举例:struct data

; ——定义结构体

struct data * p; ——定义结构体指针

struct data a = ; ——声明变量a

int x; ——声明一个变量x

p = &a ; ——让p指向a

x = p->a; ——取出p所指向的结构体中包含的数据项a赋值给x

由于此时p指向a,因而 p->a == a.a,也就是1。

对于一开始的问题 p = p->next,这应该出现在c语言的链表,这里的next应该是一个与p同类型的结构体指针,其定义格式应该是:

struct data

;main()

3楼:穰柔栾为

相当于实心的点,表示进一步访问,好比:如果定义了一个共用体或者结构体,名字为a,在a里面定义了变量b,c。那么a->b=1(相当于a.b=1),就是将a中定义的b赋值为1.

4楼:剧竹秋茶

>>表示右移运算符

用法:把一个数换成二进制数向右移动若干位!

例如:当a=017

//八进制

a=00001111

二进制a=a>>2

就是把二进制向右移动2位,a=000011同理有<<

用法相识

希望可以帮助你!!

5楼:六霞崇画

指向的意思

bai,

这一du般情况下应用于

zhi结构体变量中

例如struct

student;

struct

student

stu1;

stu1->age=20;

dao就是stu1这个结构体变量中的专age变量被赋值属20,

6楼:性依秋简焕

c语言中,bai

输入和输出是需要du指定数据zhi的类型,如下面的程序:

dao#include

void

main()

比如你输入a

bc第一个内输出容语句会输出abc第二个语句由于使用%d所以会输出abc对应的ascii码

7楼:冼永修堵琴

这个是c语言的一个三目运算符

?:意思是先判断?前面的表

达式的逻辑值是否为真

c语言里面这个符号(->)是什么意思?怎么用?

8楼:匿名用户

“指向”的意思,常用于结构体指针变量访问成员。

延展:运算符“->”,通过结构体指针变量直接获得结构体变量的成员变量,一般形式如下:

结构体指针变量-> 成员变量

其中“结构体指针变量”为结构体指针变量,“成员变量”为结构体成员变量名称,“->”为运算符。

c语言:

一、简介:

c语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的d.m.

ritchie于1972年推出,1978年后,c语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到c语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。

二、编辑开发:

1、编译器:

gcc,gnu组织开发的开源免费的编译器

mingw,windows操作系统下的gcc

clang,开源的bsd协议的基于llvm的编译器

visualc++:: cl.exe,microsoftvc++自带的编译器

2、集成开发环境(ide):

codeblocks,开源免费的c/c++ ide

codelite,开源、跨平台的c/c++集成开发环境

orwelldev-c++,可移植的c/c++ide

c-free

light table

visual stdio系列

3、hello world:

下面是一个在标准输出设备 (stdout) 上,印出 "hello, world!" 字符串的简单程序。

-> 在c语言中是什么意思?

9楼:兔丞飞

“->”是一个整体,它是用于指向结构体子数据的指针,用来取子数据。

换种说法,如果我们在c语言中定义了一个结构体,然后申明一个指针指向这个结构体,那么我们要用指针取出结构体中的数据,就要用到“->”。

问题中的p=p->next ,意思是将p指向的一个结构体实例中的自数据next赋值给p。

扩展资料

struct结构体类型名*指针名;//结构体指针

struct结构体类型名*指针名=&一个结构体的名字;//结构体指针并赋初值

struct结构体类型名*指针名=newstruct结构体类型名;//结构体指针并用new申请内存

struct结构体类型名*指针名=(struct结构体类型名*)malloc(sizeof(struct结构体类型名))//结构

体指针并用malloc申请内存使用应包含头文件stdlib.h

//对象指针的定义方法略同。

10楼:幻の上帝

->在c语言中称为间接引用运算符,是二目运算符,优先级同成员运算符“.”。

用法:p->a,其中p是指向一个结构体的指针,a是这个结构体类型的一个成员。表达式p->a引用了指针p指向的结构体的成员a。

例如:struct t

s;struct t* p=&s;

那么,p->a相当于s.a。

显然,有个等价写法:(*p).a,和p->a完全等效。

----

[原创回答团]

11楼:周啊护卫

举个例子:

struct data

; /*定义结构体*/struct data * p;/*定义结构体指针*/struct data a = ;/*声明变量a*/int x;/*声明一个变量x*/

p = &a ; /*让p指向a*/

x = p->a;/*这句话的意思就是取出p所指向的结构体中包含的数据项a赋值给x*/

/*由于此时p指向a,因而 p->a == a.a,也就是1*/

12楼:冼恭蔺酉

是条件运算符

。条件运算符是c语言中唯一的三目运算符,就是说他有三个运算对象。条件运算符的形式是“?:”由他构成的表达式称为条件表达式。形式为:

表达式1?表达式2:表达式3

运算功能是。先计算表达式1的值,若值为非0,则计算表达式2的值,并将表达式2的值作为整个条件表达式的结果;若表达式1的值为0,则计算表达式3的值,并将表达式3的值作为整个条件表达式的结果。

比如有以下条件表达式

(a>b)?a+b:a-b

a=8b=4时,计算a+b=12

,所以表达式结果为12

a=4b=8时,计算a-b=-4,所以表达式结果为-4

13楼:干楚说嫣

指针就是指向一个

特定内存地址的一个变量。简单的说可以理解为一个一维的线性空间,其中的每一个数对应一个存储单元,就是1个字节。指针有两个性质:

指向性和偏移性。指向性指的是指针一定要有一个确定的指向,偏移性就是说指针可以加上一个数后偏移位置!指向别的存储空间。

指针的应用往往体现在数组,我们从数组开始解释指针的偏移。数组就是许多的变量,它的一个重要特征就是在内存空间中连续地存放,而且是按下标顺序存放。比如我们定义一个有100个变量的一维整型数组,它一定从内存的某一个存储单元(这个存储单元是电脑随机分配的)开始按数组下标顺序存放,连续占用100*4=400个字节。

当我们定义一个数组时,系统就会自动为它分配一个指针,这个指针指向数组的首地址。

为了让系统了解每一次指针偏移的单位,也为了方便编程人员进行指针偏移(让编程人员记住一个整形变量占用4字节,一个字符型变量占用1字节……等等是很麻烦的),不用每次去计算要偏移多少个字节,c语言引入了指针的基类型的概念。基类型的作用就是*让系统了解某个指针每次偏移的字节数*。比如,对于一个字符型指针,它每次偏移(比如p=p+1)所起到的作用就是让指针偏移1个字节;而对于一个整型指针,它每次偏移就应该是4个字节。

这样操作数组时就带来了方便。比如对于一个指向某个整型数组起始存储单元(称为首地址)的指针p,p=p+1就表示将该指针指向这个数组的下一个元素的存储单元,即向后移动4字节,而不仅仅是移动一个存储单元(即移动1字节)。

参考:http://blog.renren.***/share/260314402/969350520

14楼:犹金生邱鸟

如果一个指针被定义为结构类型,那么要想获取这个指针所指向的结构里的内容就要用到->

例如:struct

something

number;

something

*nptr

=&number

//指向name结构类型的指针

inta

=nptr->a;

floatb=

nptr->b;

//通过->来获取nptr所指向的puppy的a和b/*而不是用

inta

=nptr.a;

intb

=nptr.b*/

15楼:

结构的成员。

typedef struct stu stu;

stu *s; // 结构stu,对象 是 指针 *s 时// 它的成员id,total,mark[0],...mark[3]:

s->id

s->total

s->mark[0],...,s->mark[3],

16楼:

指向的意思吧,指针用常用的比如说指针p (*p)->b,b=8

就是说p指向内存b=8的这块内存

17楼:匿名用户

->指向符号,一般在指针和结构体都会见到。

18楼:匿名用户

^按位异或的意思。就是“不同为1

c语言中 *b=&a什么意思? *b和&a分别是什么含义啊?

19楼:馅喽喽喽

(a>b)?a:b

表示如果a>b为真,则取问号后边的第一个值,这里是a

如果a>b不为真,则取问号后边的第二个值,这里是b

《表达式1>?《表达式2>:《表达式3>; "?

"运算符的含义是: 先求表达式1的值, 如果为真, 则执行表达式2,并返回表达式2的结果 ; 如果表达式1的值为假, 则执行表达式3 ,并返回表达式3的结果。

若a-b非零值(即a-b逻辑值为1)则输出a值;若a-b为零值(即a-b逻辑值为0),则输出b值。

/ 代表的是 除法。如果 a 和 b 都是整数,不是 float 等这种浮点数,所以结果只保留整数,所以 a/b 算出来是整数。

另外,% 代表的是取余数,即: 5%3 等于 1 余 2,结果就是 2

C语言中,问号表示什么意思,C语言里面?问号什么意思?:什么意思?

1楼 匿名用户 条件运算符 是c 语言中唯一的一个三目运算符。 由条件运算符组成的条件表达式的一般形式为 表达式1 表达式 2 表达式 3 其中表达式 1 表达式2 表达式3 既可以是一个简单的表达式 又可以是由各种运算符组成的复合表达式。 计算过程很好理解 先求表达式1的值 如果为真 则求表达式2...

C语言中x+y 2是什么意思啊,c语言中x+=++y是什么意思

1楼 匿名用户 x y 2 就相当于 x x y 2 是c中提供的一个自变运算符,其左右两边的数据分别叫左操作数和右操作数,右操作数可以是表达式,也可以是一个常量,不需要加括号,系统会自动按优先级进行先后运算。如 x a b c 就相当于 x x a b c 相类似的运算符还有很多,如 等 2楼 秋...

c语言怎么打出来这个符号什么意思

1楼 匿名用户 就是键盘上的8上面,你看看。 shift 8就可以打出来。 这个符号表示乘法运算符,或指针运算符。 2楼 天空天空天空空 键盘字母i上面一行,那个8就是,但是要按下shift 8才能输入。这个符号表示指针。 3楼 小裙子 输入语句 pirntf 这是属于图形的星号 星号的另一种表达就...