精华内容
下载资源
问答
  • 结构体变量名) 做指针  验证程序如下: #include <stdio.h> #include <stdlib.h> #include "string.h" #include "io.h" #include<iostream> ...

    //在结构体变量后加个[ ] 就能在主程序中使用结构体变量作为指针了,否则就要用  (&结构体变量名)  做指针 

    验证程序如下:

    #include <stdio.h>
    #include <stdlib.h>
    #include "string.h"
    #include "io.h" 
    #include<iostream>
    
    using namespace std;
    struct stu{
    	char *name;  //姓名
    	int num;  //学号
    	int age;  //年龄
    	char group;  //所在小组
    	float score;  //成绩
    }stus[] = 
    	{ "Li ping", 5, 18, 'C', 145.0 }
    ; //在结构体变量后加个[] 就能在主程序中使用结构体变量作为指针了,否则就要用  (&结构体变量名)  做指针
    
    void average(struct stu *ps, int len);
    
    int main(){
    	int len = sizeof(stus) / sizeof(struct stu);
    	cout << len << endl;
    	average(stus, len);		//果然,名称是个指针
    	return 0;
    }
    
    void average(struct stu *ps, int len){		//需要在子函数中写上函数类型   struct stu 合起来表示一个指针类型,不能单独写struct,也不能单独写 stu
    	
    	cout << ps->name << endl;
    
    	}

     

    展开全文
  • c语言中结构体类型变量类型,结构体变量名赋值 这几天看图用领接表存储图时候,开始实现的时候发现对结构体的变量名赋值有些疑惑,疑惑的地方查了下,留做备份 //此声明声明了拥有3个成员的结构体,分别为整型的a,...

    结构体的详情参考本文档

    c语言中结构体类型变量类型,结构体变量名赋值

    这几天看图用领接表存储图时候,开始实现的时候发现对结构体的变量名赋值有些疑惑,疑惑的地方查了下,留做备份

    //此声明声明了拥有3个成员的结构体,分别为整型的a,字符型的b和双精度的c
    //同时又声明了结构体变量s1
    //这个结构体并没有标明其标签
    struct
    {
    int a;
    char b;
    double c;
    } s1;

    //此声明声明了拥有3个成员的结构体,分别为整型的a,字符型的b和双精度的c
    //结构体的标签被命名为SIMPLE,没有声明变量
    struct SIMPLE
    {
    int a;
    char b;
    double c;
    };
    //用SIMPLE标签的结构体,另外声明了变量t1、t2、t3
    struct SIMPLE t1, t2[20], *t3;

    *//也可以用typedef创建新类型
    typedef struct
    {
    int a;
    char b;
    double c;
    } Simple2;
    //现在可以用Simple2作为类型声明新的结构体变量
    Simple2 u1, u2[20], u3;

    在上面的声明中,第一个和第二声明被编译器当作两个完全不同的类型,即使他们的成员列表是一样的,如果令 t3=&s1则是非法的。

    展开全文
  • 一、结构体类型的定义结构体是一种新数据类型,属构造类型,它由若干类型各异的“成员”组成;描述这些“成员”可以使用任何基本数据类型,甚至是另外一种构造数据类型都行。其实,从本书开篇,就在定义变量,下边的...

    一、结构体类型的定义

    结构体是一种新数据类型,属构造类型,它由若干类型各异的“成员”组成;描述这些“成员”可以使用任何基本数据类型,甚至是另外一种构造数据类型都行。

    其实,从本书开篇,就在定义变量,下边的语句我们已经习以为常了:

    int i;

    我们用整数类型去定义了一个变量 i ,之所以能这样,是因为 int 类型是基本类型, C 语言系统已经定义好了的。而结构类型是程序员自己定义的,是对 C 语言基本数据类型的扩充,可以理解为是程序员发明的,所以“要定义结构类型的变量,必须先定义结构类型本身”就顺理成章了。

    区别结构体名、结构变量名,掌握通过结构变量访问其成员的方法是学好本章的关键。

    打个比方,我们定义一种结构类型( person )描述青年,青年由几个基本属性(即成员)决定( name , color , sex , age 等),显然描述这些属性只需要用到基本数据类型就够了。我们可以用这个结构类型 person 去定义一个具体的青年人 zhangshan , zhangshan 则称为结构变量名。如果有 100 个青年人组成了班,那么我们可以把他们定义为一个数组 class_one[100] ,该数组称为结构数组。

    每一种具有不同成员的结构体就是一个新的数据类型,所以,在说明和使用结构体之前必须作结构类型的定义。定义结构类型使用关键字“ struct ”。

    下边几行定义结构类型 person ,并用该类型定义结构变量 zhangshan 和结构数组 class_one[100] :

    现在,再定义一个商品结构类型 goods ,设商品包含属性有:商品名、商品代码、厂商、单价、质量。把相同类型的成员定义在一行, goods 可定义如下:

    struct 是结构体的关键字, goods 是结构体名,花括号内的所有变量是这个结构体的成员。这种写法虽然节省了程序行,但降低了可读性,故不建议初学者这样写。

    综上,结构体类型简称为结构类型,其定义格式为:

    二、结构体类型变量的定义

    结构体变量简称为结构变量,它由结构类型定义,有三种定义方法。下面以定义结构类型 book 和结构变量 mybook 、 storybook 为例说明之。

    先定义结构类型,再定义结构变量。

    用这种方法定义结构变量,是最常用的方法,但须注意不能省略关键字“ struct ”。还可以在定义结构变量的同时给它的成员赋初值。如:

    则, mybook 变量的 price = 24.7 。

    定义结构类型的同时定义结构变量。

    不定义结构类型,直接定义结构变量。

    需要说明的是,当某结构类型的成员又是另外一个结构类型时,称嵌套定义,其定义方法如下:

    此例直接定义了 student_01 和 employee 两个变量,但是没有定义此结构体的名字,因此不能再定义与 student_01 和 employee 同类的其它结构变量了!如下行定义是错误的:

    truct boy, girl;

    展开全文
  • 问题: typedef struct a{ int n; int m; }c;...问题一:a是结构体名,c是结构体变量名,为什么不能直接使用(c.n=1;c.m=2;编译时错误)? 问题二:在声明b时,只有struct a b;和c b ;这两种方...

    问题:

    typedef struct a
    {
    	int n;
    	int m;
    }c;
    声明b只有struct a b或者struct c b是对的
    b.n=1;
    b.m=2;
    printf("%d%d\n", b.n,b.m);
    问题一:a是结构体名,c是结构体变量名,为什么不能直接使用(c.n=1;c.m=2;编译时错误)?
    问题二:在声明b时,只有struct a b;和c b ;这两种方法正确,c不是结构体变量名吗,为什么可以声明变量b?
    

    解析:

    typedef struct a
    {
    	int n;
    	int m;
    }c;
    相当于
    typedef struct a c;
    typedef为struct a创建了别名c;
    故c不是变量名而是struct a类型的别名
    也可以这样:
    c exm;
    exm.n=1;
    exm.m=2;
    
    展开全文
  • 在初学C语言时到结构体总与数组联系在一起,这就形成了很多...结构体变量名就是变量名。 象int a一样,只是printf 处理不了结构体。通过 printf 输出结构体,结果是没有意义的(整个结构体复制堆栈中,按 照对应的...
  • 结构体变量名的意义

    2017-08-31 19:09:00
    结构体作为一种自定义数据类型,结构类似于数组,但是结构体名与数组有很大的区别:数组是作为内存中固定不可修改的地址常量而存在,而结构体相当于int,double之类的系统内定类型,代表了一段内存空间的内容。...
  • eval(['students(i).',str_var,'= marks(i,ii)']); 傻了,没想到还能这样做。。。看网上格式都是两个参数
  • 定义 struct InitMember { int first; double second; char* third; float four; }; 1 2 3 4 5 6 7 方法一:定义时赋值 struct InitMember test = {-10,3.141590,“method one”,0.25};...struct Ini...
  • 书上说结构体变量名不是结构体变量的首地址,为了测试调用结构体变量名是什么,我写了个小程序 #include<stdio.h> typedef struct{ char name[20]; int value; }Student; int main() { Student a={"abc",...
  • 刚看了下,网上关于结构体变量名的文章,现做一些总结。理解可能还会有错误,有待以后更正。 结构体变量代表的是一块内存区域。 typedef struct{ char m; int n; } st;void main(){ st st1; /*声明一个...
  • ———————————————— 以上部分原文链接:https://blog.csdn.net/qq_41624617/article/details/89914862 补充: 当结构体成员为结构体时可以嵌套省略结构体变量名,只写最内层结构体成员。 struct ...
  • 结构体变量和结构体指针作形参的区别 含结构体变量和结构体指针变量形参的函数调用 指针和数组作为函数形参的区别 概念 结构体变量是指将不同的数据类型整合成一个有机的整体,以便于调用。 struct Student { ...
  • C++结构体变量的初始化 C++对结构体变量可以在定义时指定初始值。 struct Student{ //自定义结构体变量 int num;//学号 char sex;//性别 int age;//年龄 }studeng1={1001,'M',24}; C++结构体变量的引用 C++...
  • 结构体变量

    2021-07-22 16:24:33
    定义 结构体和数组一样,是一种构造类型,但不同的是,可以使用结构体(Struct)来存放一组不同类型的数据。 格式 struct 结构体名 { ...类型名1 成员名1;...struct 结构体名 结构体变量名 ①可以先定义.
  • 结构体:描述结构的组织形式,不分配内存 结构体变量定义:先定义结构体类型,再定义结构体...(4)结构体成员名与程序中变量名相同,不会混淆 结构体变量的引用: (1)不能对结构体变量整体赋值或输出,只能分...
  • 结构体变量的引用

    千次阅读 2019-05-28 08:10:56
    定义了结构体变量之后就可以在程序中对他进行引用...结构体变量名.成员名 student1.num = 172041; 2 如果结构体类型中的成员也是一个结构体类型,则要使用若干个".",一级一级的找下去。因为只能对最低级的成员进行...
  • 上一篇文章:返回指针值的函数+指向函数的指针+... 结构体引例结构体变量的定义结构体变量的使用结构体变量作为函数参数结构体变量的初始化 下一篇文章 结构体 引例 输出平均分最高的学生信息 #include &...
  • 怎样通过指向结构体变量的指针访问结构体变量中成员。 #include <stdio.h> #include <string.h> struct Student{ long int num; char name[15]; char sex; float score; }; int main()...
  • C语言中结构体变量的定义及引用

    万次阅读 多人点赞 2018-08-08 16:05:24
    结构体变量名>; eg:struct student student1,student2; 关键字struct要与结构体名student一起使用,共同构成结构体类型名 2.结构体类型与结构体变量同时定义 一般形式如下: struct<结构体名>...
  • 引用结构体变量

    2013-12-25 14:56:00
    引用一个结构体变量有两种方式:通过结构体变量名和通过指向结构体的指针变量。与之对应的,引用结构体成员的标记形式也有两种,分别用运算符“.”“->”来标记。(1)由结构体变量名引用其成员的标记形式为: ...
  • 2、结构体的目的是为了描述一个对象,为了把一个对象描述清除必须要所出这个对象的很多属性,而为了表示这些属性就要用到不同的变量,而且变量不止一个。 二、如何来定义结构体: 1、定义结构体 格式: struct 结构体...
  • 无结构体结构体变量的使用 笔者使用的编译器是Visual C++ 6.0 阿里云盘: 下载 #include<stdio.h> struct { int age; int height; int weight; }person; // 在无结构体的结构体,person这个结构体...
  • 前面我们通过“结构体变量名.成员名”的方式引用结构体变量中的成员,除了这种方法之外还可以使用指针。 前面讲过,&student1 表示结构体变量 student1 的首地址,即 student1 第一个项的地址。如果定义一个指针...
  • 5/29 c的结构体变量

    2019-05-29 23:45:00
    1、结构体变量的初始化和引用。 在定义结构体变量的时候,可以对它初始化,即赋予初始值。然后再引用这个变量。...(2)可以引起结构体变量中成员的值,引用方式为 结构体变量名,成员名。如student1.num=100...
  • 通过指向结构体变量的指针变量输出结构体变量中成员的信息。解:程序:#include#includeint main(){struct Student{long int num;char name[20];char sex[10];float score;};struct Student stu_1;//定义struct ...
  • 一个结构体变量的指针就是该变量所占据的内存段的起始地址。可以设一个指针变量,用来指向一个结构体变量,此时该指针变量的值是结构体变量的起始地址。指针变量也可以用来指向结构体数组中的元素。通过指向结构体...
  • 可以设一个指针变量,来指向一个结构体变量,此时该指针变量的值是结构体变量的起始地址。 设p是指向结构体变量的数组,则可以通过以下的方式,调用指向的那个结构体中的成员: (1)结构体变量.成员。如,stu.num...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 137,324
精华内容 54,929
关键字:

结构体变量名