zoukankan      html  css  js  c++  java
  • C语言中->和.的区别

    当定义了一个结构体的时候,如果想要取出这个结构体中的成员的时候,需要使用->

    struct stu {
    string name;
    int number;
    int classnumber;
    int gradenumber;
    };
    

      如果定义了一个指针,让这个指针指向这个结构体,通过这个指针 P 取出这个结构体中的内容,这时我们用的符号时 .(点)。如果是用指针 *P的形式取出这个里面的元素的话,这时我们需要使用*P.(元素)

    这里的区别主要是:->意味着取地址。找到这个元素所在的地址,然后将这个元素取出来。.是在这个元素结构体中取出来这个里面的元素。

    #include<iostream>
    using namespace std;
    struct stu {
    	string name;
    	int number;
    	int classnumber;
    	int gradenumber;
    };
    int main() {
    	struct stu student;
    	struct stu * p = &student;
    	p->classnumber = 7;
    	cout<<p->classnumber << endl;
    	cout<<(&student)->classnumber<<endl;
    	cout<<student.classnumber<<endl;
    	cout<<(*p).classnumber<<endl;
    }
    

        如上图的四种表示方式,意思是一样的。

    总而言之:

    .是取的这个结构体中的元素。(我直接带你出去玩)

    ->是取的这个结构体中中元素的地址   所对应的元素。(这里有点像是脑筋急转弯。就是我先找到你家,然后再带你出来玩)

  • 相关阅读:
    Easy Climb UVA
    POJ 2823 滑动窗口 单调队列模板
    Feel Good
    Problem J. Joseph’s Problem 约瑟夫问题--余数之和
    hdu 1029 Ignatius and the Princess IV
    poj 1027 Ignatius and the Princess II全排列
    Problem C Updating a Dictionary
    hdu 1412 {A}+{B}
    hdu 4006 The kth great number
    实现:职工管理系统
  • 原文地址:https://www.cnblogs.com/littleswan/p/11979217.html
Copyright © 2011-2022 走看看