精华内容
下载资源
问答
  • 结构体数组和结构体指针的应用,结构体成员引用的表示方法 //结构体数组和结构体指针的应用,结构体成员引用的表示方法 // Created by acer on 2020/8/30. #include<stdio.h> struct student{ int num; char...

    结构体数组和结构体指针的应用,结构体成员引用的表示方法

    //结构体数组和结构体指针的应用,结构体成员引用的表示方法
    // Created by acer on 2020/8/30.
    #include<stdio.h>
    struct student{
        int num;
        char name[20];
        char sex;
        int age;
        float score;
    };
    
    int main(){
    //    定义结构体数组并初始化
        struct student stu[3]={{11302,"wang",'F',20,483},
                               {11303,"Liu",'M',19,443},
                };
        struct student student1={11301,"fang",'M',21,485},*p,*q;
        int i;
    //    *p指向结构体变量
        p=&student1;
    //    访问结构体变量
        printf("%s,%c,%5.1f\n",(*p).name,p->sex,studengt.score);
        q=stu;  //q指向结构体数组元素
    //   循环访问结构体数组的元素(下标变量)
        for (i = 0;  i<2 ; i++,q++) {
            printf("%s,%c,%5.1f\n",q->name,q->sex,q->score);
        }
        return 0;
    }
    

    结果:
    fang,M,485.0
    wang,F,483.0
    Liu,M,443.0

    printf("%s,%c,%5.1f\n",(*p).name,p->sex,student.score);
    

    由结果可见这三种表示方法含义是相同的。
    成员变量引用的方式有:

    1. 运用成员域访问运算符:<结构体变量名>.成员名,student.score;
    2. 利用间接访问成员域的运算符:指针变量->成员,如p->sex;
    3. 利用结构体指针变量访问结构体变量的成员:(*结构体指针变量名).成员名。如(*p).name;

    容易混淆:
    输入数据的时候,姓名是字符串不用加&!!!,但是年龄,分数,性别要加。
    如:

    scanf("%s,%c,%d",p->name,&p->sex,&p->age);
    
    展开全文
  • 结构体之引用结构体成员变量

    千次阅读 2020-11-05 17:02:01
    引用结构体成员变量 一个结构体包含一个或者多个成员变量,在实际使用中,就需要对其成员变量进行引用,对于一个已经定义了的结构体变量和一个指向该结构体的指针变量。 可以用一下三种情况引用结构体 成员变量。 1...

    引用结构体成员变量

    一个结构体包含一个或者多个成员变量,在实际使用中,就需要对其成员变量进行引用,对于一个已经定义了的结构体变量和一个指向该结构体的指针变量。

    可以用一下三种情况引用结构体 成员变量。
    

    1、由结构体变量名引用其成员:

    结构体变量名.成员名

    2、由指向结构体的指针变量引用结构体成员
    指针变量名 -> 成员名

    3、(*指针变量名).成员名

    结构体指针:指向结构体变量的指针,一个结构体变量的起始地址就是这个结构体变量的指针。如果把一个结构体变量的起始地址存放在一个指针变量中,那么这个指针变量就是指向该结构体的变量。

    其中,"."  是成员运算符,它在所有的运算符中优先级最高。  “->”  结构体指向运算符 
    
    struct student {   
     //成员列表    
     string name;  //姓名    
     int age;      //年龄    
     int score;    //分数 
     };
     struct student stu = { "小明",6,100, };
    int main() {  
    
       //定义了一个结构体 指针p,并且对它进行初始化
       
         struct student * p = &stu;   
         //引用结构体成员变量的三种形式:
      cout<<"stu.score= "<<stu.score<<endl;
      cout<<"p->score ="<<p->score<<endl;
      cout<<"(*p).score= "<< (*p).score<<endl;
       system("pause");
       return 0; 
        }
    

    }

    另外,对于引用结构体数组变量的成员变量。具体做法:
    
    #include<iostream>
    using namespace std;
    #include<string>
    struct student {
    	//成员列表    
    	string name;  //姓名    
    	int age;      //年龄    
    	int score;    //分数
    };
    //定义结构体变量,并初始化。
    struct student stu[3] = {
       {"小明",6,100 },
       {"小芳",7,99 },
       {"小华",16,80 }
    };
    int main() {
    
    	struct student * p;
    	for (p = stu; p < stu + 3; p++)
    	{
    		cout << "年龄是:" << p->age << "名字是:" << p->name << "分数是:" << p->score << endl;
    
    
    	}
    
    	system("pause");
    	return 0;
    
    }
    
    展开全文
  • 设计一个结构体,存储某个学生的主要学籍信息,包括姓名,性别,班级和学号等,使用结构体实现对结构体变量成员的输入和输出 #include<stdio.h> struct si { char name[30]; char sex[10]; unsigned int ...

    设计一个结构体,存储某个学生的主要学籍信息,包括姓名,性别,班级和学号等,使用结构体实现对结构体变量成员的输入和输出

    #include<stdio.h>
    struct si
    {
     char name[30];
     char sex[10];
     unsigned int classno;
     char studentid[15];
    };
    int main()
    {
     int i=0;
     struct si yansl,*pstu;
     pstu=&yansl;				//使指针pstu指向结构体变量yansl
     printf("输入学生学籍信息:\n");
     printf("学生姓名:\n");
     scanf("%s",yansl.name);
     printf("学生性别:\n");
     scanf("%s",yansl.sex);
     printf("学生班号:\n");
     scanf("%s",yansl.classno);
     printf("学生学号:\n");
     scanf("%s",yansl.studentid);
     printf("使用指针输出学生学籍信息:\n");
     printf("学生姓名:%s\n",pstu->name);
     printf("学生性别:%s\n",pstu->sex);
     printf("学生班号:%s\n",pstu->classno);
     printf("学生学号:%s\n",pstu->studentid);
    }
    展开全文
  • 结构体成员引用

    2012-09-07 22:25:57
    结构体成员引用,总把这些基础的东西搞错,程序编过了没问题 #include struct TestStruct {  unsigned int a;  unsigned int b; }; struct TestStruct Variable; struct TestStruct *Pointer; int ...

    结构体成员的引用,总把这些基础的东西搞错,程序编过了没问题
    #include<stdio.h>

    struct TestStruct
    {
     unsigned int a;
     unsigned int b;
    };


    struct TestStruct Variable;
    struct TestStruct *Pointer;

    int main()
    {
     //给结构体成员赋值(如何引用结构体成员)
     Variable.a = 10;
     (&Variable)->b = 20;
     printf("a=%d,b=%d",Variable.a,(&Variable)->b);

     Pointer = (&Variable);
     (*Pointer).a = 20;
     Pointer->b = 10;
     printf("a=%d,b=%d",(*Pointer).a,Pointer->b);

     return 0;
    }

     

    展开全文
  • 结构体成员变量的引用 结构体变量名.成员名 student.num=10010; "."是成员运算符,它在所有的运算符中优先级最高。 结构体指针:指向结构体变量的指针,一个结构体变量的起始地址就是这个结构体变量的指针。如果...
  • 结构体成员变量的引用 结构体变量名.成员名 student.num=10010; "."是成员运算符,它在所有的运算符中优先级最高。 结构体指针:指向结构体变量的指针,一个结构体变量的起始地址就是这个结构体变量的指针。如果把一...
  • 关于结构体成员引用有这样的规律: (1)箭头(-&gt;):左边必须为指针 (2)点号(.):左边必须为实体 #include "stdio.h" int main() { struct student{ int age; int class_; }; struct...
  • 关于结构体成员引用有这样的规律: 箭头(->):左边必须为指针; 点号(.):左边必须为实体。 那么如果一个结构体指针引用一个成员,这个成员又是一个结构体(并且是一个实体),那么如果要引用这个成员的...
  • 关于结构体成员引用有这样的规律: 箭头(->):左边必须为指针; 点号(.):左边必须为实体。 那么如果一个结构体指针引用一个成员,这个成员又是一个结构体(并且是一个实体),那么如果要引用这个成员的...
  • 结构体成员的存储

    万次阅读 2017-07-10 19:43:06
    刚开始学C语言只知道怎么引用结构体成员变量,但却很少关注结构体成员的存储,存储涉及到了内存对齐相关的知识,要能很准确的引用结构体成员变量也需要学习一下它的存储。 #include typedef struct node { int a; ...
  • C中对于结构体成员的两种引用方式: 1、结构体变量.成员; 2、结构体变量->成员; 其中,第一种方式只能在结构体变量是结构体实体时能使用,而第二种方式是当结构体变量为指针类型的时候使用。 #include<stdio...
  • 贺老师教学链接 C语言及程序设计进阶 本课讲解结构体作函数参数#include struct Student { int num; char name[20]; char sex; int age; double score; char addr[30]; }; void print(struct Student s) {...
  • C++三种形式引用结构体成员变量

    千次阅读 2020-07-04 20:10:06
    结构体变量名.成员名 指针变量名->成员名 (*指针变量名).成员名(注意:*不能省略因.的结合性大于*) #include <iostream> using namespace std; struct student1 { int Code; char Name[20]; ...
  • C中对于结构体成员的两种引用方式: 1、结构体变量.成员; 2、结构体变量->成员;其中,第一种方式只能在结构体变量是结构体实体时能使用,而第二种方式是当结构体变量为指针类型的时候使用。 请看下面的简单例子...
  • 文章目录1 不同类型指针的步长2 结构体成员偏移量 1 不同类型指针的步长 (1)不同类型的指针 +1 时,内存偏移的字节数不同。 char *类型指针 + 1,内存偏移 1 字节; int *类型指针 + 1,内存偏移 4 字节; ...
  • 结构体引用结构体指针的引用

    千次阅读 2014-05-04 15:07:43
    结构体是一个指针时要引用结构体成员就用-> 而如果不是指针就用. 如: struct msg_st {  int a; }; struct msg_st msg; struct msg_st *ms;//需要初始化 msg.a = 10; ms->a = 20; 结构体变量...
  •   编译器在为结构体成员分配内存时,由于存在内存对齐机制,各个成员所占空间可能不是连续的,因而不能简单的通过成员类型所占的字长来推断其它成员或结构体对象的地址。   获得结构体成员偏移量的方法可以参照...
  • Linux内核学习 之 C语言中 以结构体成员找结构体。重点就是加粗的部分。 啊,什么,还是不太理解。说的再详细点: 给你一个结构体成员的地址,让你找这个结构体的首地址。’ 举个栗子: typedef struct node { ...
  • 因为结构体成员在内存中的存储数据是按照成员定义顺序存储的,因此,要回答这个问题,首先得解决两个问题 1):该结构体成员的地址 2):该结构体成员在结构体中的偏移地址 意识到这两个问题,还得注意两个细节: 1...
  • 结构体引用

    2018-06-15 18:01:00
    今天关于结构体一些疑问,在这里标记一下...结构体的定义如下所示,struct为结构体关键字,tag为结构体的标志,member-list为结构体成员列表,其必须列出其所有成员;variable-list为此结构体声明的变量。 1 s...
  • 获取结构体成员偏移量 具体方法 #define offsetoff(TYPE,MEMBER) ( (size_t)( &( ( (TYPE*)0 )->MEMBER ) ) ) 实现解析 (TYPE*)0是一个空指针,如果使用空指针访问成员肯...
  • C++结构体变量的初始化 C++对结构体变量可以在定义时指定初始值。 struct Student{ //自定义结构体变量 int num;//学号 char sex;//性别 int age;...可以引用一个结构体变量中的一个成员的值。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 59,057
精华内容 23,622
关键字:

结构体成员的引用