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;
    }
    

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

    总而言之:

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

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

  • 相关阅读:
    java下载url图片链接
    mysql 设计索引的原则
    169. 多数元素
    263. 丑数
    markdown 语法笔记
    70.爬楼梯
    540. 有序数组中的单一元素
    88. 合并两个有序数组
    面试题57
    152. 乘积最大子序列
  • 原文地址:https://www.cnblogs.com/littleswan/p/11979217.html
Copyright © 2011-2022 走看看