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

2024-11-12 04:47:50
推荐回答(5个)
回答1:

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

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


举例:

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。

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

struct Data 

{int a;struct Data * next;};

main()

{struct Data * p;

p = p->next;

}

回答2:

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

回答3:

>>
表示右移运算符
用法:把一个数换成二进制数向右移动若干位!
例如:当a=017
//八进制
a=00001111
二进制
a=a>>2
就是把二进制向右移动2位,a=000011
同理有<<
用法相识
希望可以帮助你!!

回答4:

指向的意思,
这一般情况下应用于结构体变量中
例如
struct
student{
char
name[20];
int
age;
int
number;
};
struct
student
stu1;
stu1->age=20;
就是stu1这个结构体变量中的age变量被赋值20,

回答5:

c语言中,输入和输出是需要指定数据的类型,如下面的程序:#include
void
main()
{
char
a,b,c;
scanf("%c%c%c",&a,&b,&c);printf("%c,%c,%c\n",a,b,c);
printf("%d,%d,%d\n",a,b,c);
getch();
}比如你输入a
b
c第一个输出语句会输出abc第二个语句由于使用%d所以会输出abc对应的ascii码