精华内容
下载资源
问答
  • 之前遇到struct老是感觉自己知识存在漏洞,现总结如下: 定义:1。单独定义: 即先定义好一个struct ,然后再用这个结构类型去定义变量;...即在定义结构体类型的同时定义结构变量; eg: struct FriendList{...

    之前遇到struct老是感觉自己知识存在漏洞,现总结如下:

    定义:
    1。单独定义:

    即先定义好一个struct ,然后再用这个结构类型去定义变量;

    eg:

    struct FriendList{ .... }; FriendList friend1.friend2;

    2. 混合定义:

    即在定义结构体类型的同时定义结构变量;

    eg:

    struct FriendList{ char name[10]; int age; char telephone[13]; }friend1,frind2;

    3.无类型定义

    在定义结构体变量的同时省略结构名,此后除非重新写定义过程否则无法再定义该类型变量;

    eg:

    struct { .... }friend1,friend2;

    赋值:

    1.用{}

    eg

    struct S{ int ia; double db; }; S s={9,9.8};

    2.当然也可以相同变量间赋值

    成员访问:

    1.用.

    2.如果是指针变量有两种方法

    1.先解引用(*p)再用.正常访问;

    2.直接—>

    展开全文
  • 定义结构体变量有三种方式: (1) 用结构体类型定义变量 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include <stdlib.h> #include <string.h> struct Teacher { int age; ...

    定义结构体变量有三种方式:

    (1)  用结构体类型定义变量

          

    #define  _CRT_SECURE_NO_WARNINGS 
    #include<stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    struct Teacher {
    
    	int age;
    	char name[64];
    };
    
    int main()
    {
    
    	struct Teacher t1;
    	t1.age = 12;
    	strcpy(t1.name,"hello");
    
    	printf("%d \n", t1.age);
    	printf("%s \n", t1.name);
    }

     用typedef定义一个结构体别名,注意与上一个定义结构体的方式的语法的区别:

    #define  _CRT_SECURE_NO_WARNINGS 
    #include<stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    typedef struct Teacher {
    
    	int age;
    	char name[64];
    } Teach;
    
    int main()
    {
    
    	Teach t1;
    	t1.age = 12;
    	strcpy(t1.name,"hello");
    
    	printf("%d \n", t1.age);
    	printf("%s \n", t1.name);
    }

     

    (2) 定义类型的同时,定义变量

         

    struct _Student
    {
    	char	name[32];
    	char	tile[32];
    	int		age;
    	char	addr[128];
    }s1, s2;  //定义类型的同时,定义变量;
    

     

    (3) 直接定义结构体变量,忽略名字,如下:

       

    struct 
    {
    	char	name[32];
    	char	tile[32];
    	int		age;
    	char	addr[128];
    }s1, s2;  //定义类型的同时,定义变量;
    

     

     

    初始化结构体类型变量的方式:

    (1) 

    struct _Teacher t4 = {"name2", "tile2", 2, "addr2"};

    (2)

    struct Dog1
    {
    	char	name[32];
    	char	tile[32];
    	int		age;
    	char	addr[128];
    }d5 = {"dog", "gongzhu", 1, "ddd"};
    

     

    (3)

    struct 
    {
    	char	name[32];
    	char	tile[32];
    	int		age;
    	char	addr[128];
    }d6 = {"dog", "gongzhu", 1, "ddd"};
    //结构体变量的引用
    

    对结构体的操作:

    int main11()
    {
    	//struct _Teacher t1, t2;
    	//定义同时初始化
    	{
    		struct _Teacher t3 = {"name2", "tile2", 2, "addr2"};
    		printf("%s\n", t3.name);
    		printf("%s\n", t3.tile);
    	}
    
    	//用指针法和变量法分别操作结构体
    	{
    		struct _Teacher t4;
    		struct _Teacher *pTeacher = NULL;
    		pTeacher = &t4;
    
    		strcpy(t4.name, "wangbaoming");
    
    		strcpy(pTeacher->addr, "ddddd");
    		
    		printf("t4.name:%s\n", t4.name);
    	}
    
    	printf("hello....\n");
    	getchar();
    	return 0;
    }
    

     

     

     

    展开全文
  • 结构体变量声明步骤:一般放在头文件中。 1.typedef struct { uint8_t receive_flag:1;//空闲接收标记 uint8_t dmaSend_flag:1;//发送完成标记 uint16_t rx_len;//接收长度 uint8_t usartDMA_rxBuf[RECEIVELEN];//...

    结构体变量声明步骤:一般放在头文件中。

    1.typedef struct
    {
    uint8_t receive_flag:1;//空闲接收标记
    uint8_t dmaSend_flag:1;//发送完成标记
    uint16_t rx_len;//接收长度
    uint8_t usartDMA_rxBuf[RECEIVELEN];//DMA接收缓存
    }USART_RECEIVETYPE;
    
    2.==USART_RECEIVETYPE UsartType==;
    
    3.==extern USART_RECEIVETYPE  UsartType==;
    部分编译器中 省略第二步,变量被外部引用时仍能编译成功,但ECLIPSE中会出错。 保险起见,需要完成以上三步。
    
    展开全文
  • 前言 本文中出现的 strcpy()函数需引入 string.h 头文件。 #include <string.h> ...其中 struct 是声明结构体...二、定义结构体变量 structstudents 整体是“结构体类型名”,在定义结构体类型的变量时,s...

     

    目录

    前言

    一、声明“结构体类型”

    二、定义结构体变量

    方法 1  先声明结构体类型,再定义结构体变量

    方法 2 声明类型的同时定义变量

    *方法 3 不指定结构体名(结构体标记),直接定义变量

    三、初始化结构体变量

    方法 1 整体初始化

    方法 2 各成员变量分别初始化

    注 1

    四、引用结构体变量

    附录


    前言

    本文中出现的 strcpy() 函数需引入 string.h 头文件。

    #include <string.h>

     

    一、声明“结构体类型”

    struct students
    {
    	char name[20];
    	int age;
    };

    其中 struct 是声明结构体类型的关键字,students 是“结构体名”,又称为“结构体标记” ,用于区别其他结构体类型。

     

    二、定义结构体变量

    struct students 整体是“结构体类型名”,在定义结构体类型的变量时,struct 不可省略。

    方法 1  先声明结构体类型,再定义结构体变量

    //声明结构体类型	
    struct students
    {
    	char name[20];
    	int age;
    };
    
    //定义结构体变量
    struct students stu1,stu2;

    方法 2 声明类型的同时定义变量

    //声明结构体类型	
    struct students
    {
    	char name[20];
    	int age;
    
    }stu1,stu2;//同时定义变量

    *方法 3 不指定结构体名(结构体标记),直接定义变量

    struct
    {
    	char name[20];
    	int age;
    
    }stu1,stu2;

     

    三、初始化结构体变量

    方法 1 整体初始化

    struct students stu1={"Allen",18};

    方法 2 各成员变量分别初始化

    strcpy(stu1.name,"Allen");//为什么不能用 stu1.name="allen"; ? 见“注1”
    stuN.age=18;

    注 1

    由于在声明结构体类型时,属性 namechar [20] 类型,如果使用  stu1.name="allen";  ,会导致 cannot convert from 'char [4]' to 'char [20]' 错误。

    除了上述解决办法外,还可以在声明结构体类型时,将 name 定义为 char * 类型:

    struct students
    {
    	char *name;
    	int age;
    };

    即可正常使用:

    stu1.name="allen";

    四、引用结构体变量

    只能访问成员变量,不能直接访问结构体变量整体。

    printf("姓名    年龄\n\n");
    printf("%s    %d\n\n",stu1.name,stu1.age);

    结果如下:

     

    附录

    完整测试代码如下:

    #include <stdio.h>
    #include<string.h>
    
    int main()
    {
    	//声明结构体类型
    	struct students
    	{
    		char name[20];
    		int age;
    	};
        
        //定义并初始化结构体变量
    	struct students stu1={"Allen",18};
    
        //分别输出成员变量
        printf("姓名    年龄\n\n");
    	printf("%s    %d\n\n",stu1.name,stu1.age);
    
    	return 0;
    }

    结果如下:

     

    展开全文
  • 定义一个结构体类型Student并且定义一个该结构体变量stu: Struct Student { int age; char *name; }stu; 为结构体Student起一个别名stu typedef Struct Student { int age; char *name; }stu; ...
  • 上一篇文章:返回指针值的函数+指向函数的指针+... 结构体引例结构体变量定义结构体变量的使用结构体变量作为函数参数结构体变量的初始化 下一篇文章 结构体 引例 输出平均分最高的学生信息 #include &...
  • 2、结构体的目的是为了描述一个对象,为了把一个对象描述清除必须要所出这个对象的很多属性,而为了表示这些属性就要用到不同的变量,而且变量不止一个。 二、如何来定义结构体: 1、定义结构体 格式: struct 结构体...
  • 结构体变量定义:先定义结构体类型,再定义结构体变量 结构体变量的定义主要有3种形式 结构体类型与结构体变量概念的区别: (1)类型:不分配内存 变量:分配内存 (2)类型:不能赋值、存取、运算 变量:...
  • C语言中结构体变量定义及引用

    万次阅读 多人点赞 2018-08-08 16:05:24
    一、结构体变量定义 1.结构体类型与结构体变量分开定义 一般形式如下: struct<结构体名><结构体变量名>; eg:struct student student1,student2; 关键字struct要与结构体名student一起使用,...
  • C++对结构体变量可以在定义时指定初始值。 struct Student{ //自定义结构体变量 int num;//学号 char sex;//性别 int age;//年龄 }studeng1={1001,'M',24}; C++结构体变量的引用 C++在定义结构体变量以后...
  • 结构体变量和结构体指针作形参的区别 含结构体变量和结构体指针变量形参的函数调用 指针和数组作为函数形参的区别 概念 结构体变量是指将不同的数据类型整合成一个有机的整体,以便于调用。 struct Student { ...
  • 描述结构体(struct)是...结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。...
  • 结构体变量和结构体类型的定义

    万次阅读 多人点赞 2019-08-02 16:43:19
    结构体类型定义 定义方式1: Typedef struct LNode { int data; // 数据域 struct LNode *next; // 指针域 } *LinkList; 定义方式2: struct LNode { int data; // 数据域 struct LNode *next; // 指针域 }; ...
  • 为此,C提供了结构体变量提高表示数据的能力,它能让你创造新的形式。 1、结构体的定义 struct book { char title[40]; //书名 char author[40]; //作者 float price; //单价 }; 在结构体声明中,用一对...
  • //在c语言中,全局定义一个结构体变量报如下错误,但是在c++中不会报错, //求解怎么解决?? E0059 常量表达式中不允许函数调用 ![图片说明]...
  • 怎样通过指向结构体变量的指针访问结构体变量中成员。 #include <stdio.h> #include <string.h> struct Student{ long int num; char name[15]; char sex; float score; }; int main()...
  • 定义结构体变量的三种方法

    千次阅读 2018-07-07 20:25:41
    1、先定义结构体类型再定义结构体变量如先定义结构体类型:struct student{ int StuNo;//学号 char StuName[20]; //学生姓名 char Sex; //学生性别 int Agel //年龄}再定义结构体变量: struct student stu1,stu...
  • 由于经常要在函数中对结构体对象进行操作,所以函数形参中常常都是传值一个结构体指针变量,自己有时为了偷懒,干脆在定义对象时直接定义结构体指针变量,这样实参就不用取地址了。 这样想是没有错,但是结构体指针...
  • typedef 和结构体变量定义方法

    千次阅读 2015-06-12 10:35:10
    首先请看程序: #include  #include  #pragma pack(4)  /* struct  ... //方法一 只能在定义结构体时用一次,以后再也无法定义结构体变量,缺乏灵活性。 */ struct student  {
  • 如果对结构体变量的使用不太熟悉,可以先看看博主的这篇文章【C语言】结构体变量定义、初始化、使用 一、定义 1 先声明结构体类型、定义结构体变量: //声明结构体类型 struct students { char name[20]; ...
  • 如果想在a.c中定义一个可以在b.c中可以使用的结构体变量,则可以参照一下方法: 首先在a.h中定义结构体和声明结构体变量,如: typedef struct struct_a { //结构体内容 } struct_a; extern struct_a aaa; 然后...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 213,959
精华内容 85,583
关键字:

结构体变量的定义