码迷,mamicode.com
首页 > 其他好文 > 详细

结构体

时间:2019-12-01 16:41:22      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:就是   crt   img   printf   http   print   多个   行数据   场景   

  • 结构体先定义后调用,定义的时候不分配内存,创建时才分配内存
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
struct mycoach//mycoach是结构体类型,如果省略就是无名结构体
{
    //还可以包含其他结构体,其中每个元素的内存都相互独立
    char name[30];
    int age;
};
void main()
{
    struct mycoach cpc;
    sprintf(cpc.name,"陈培昌");//字符串不可以等号赋值,strcpy()---在string模块下
    printf("\n%s",cpc.name);
    system("pause");
}

技术图片

 

  •  一次性可以声明多个
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
struct mycoach//mycoach是结构体类型,如果省略就是无名结构体
{
    //还可以包含其他结构体,其中每个元素的内存都相互独立
    char name[30];
    int age;
    char expertin[100];
};
void main()
{
    struct mycoach cpc,xxd,wr,fgf;
    sprintf(cpc.name,"陈培昌");//字符串不可以等号赋值,strcpy()---在string模块下
    printf("%s\n",cpc.name);
    system("pause");
}
  • 宏取代
#define _CRT_SECURE_NO_WARNINGS
#define jl struct mycoach
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
struct mycoach//mycoach是结构体类型,如果省略就是无名结构体
{
    //还可以包含其他结构体,其中每个元素的内存都相互独立
    char name[30];
    int age;
    char expertin[100];
};
void main()
{
    jl cpc,xxd,wr,fgf;
    sprintf(cpc.name,"陈培昌");//字符串不可以等号赋值,strcpy()---在string模块下
    printf("%s\n",cpc.name);
    system("pause");
}
  • 形式3
#define _CRT_SECURE_NO_WARNINGS
#define jl struct mycoach
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
struct mycoach//mycoach是结构体类型,如果省略就是无名结构体
{
    //还可以包含其他结构体,其中每个元素的内存都相互独立
    char name[30];
    int age;
    char expertin[100];
}cpc, xxd, wr, fgf;//定义时,就声明变量
void main()
{

    sprintf(cpc.name,"陈培昌");//字符串不可以等号赋值,strcpy()---在string模块下
    printf("%s\n",cpc.name);
    system("pause");
}
  • 结构体类型和结构体变量的区别
结构体类型不分配内存,结构体变量分配,结构体类型不可以访问,赋值,存取,运算;成员名与类型名可以重名
  • 初始化方法
#define _CRT_SECURE_NO_WARNINGS
#define jl struct mycoach
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
struct mycoach//mycoach是结构体类型,如果省略就是无名结构体
{
    //还可以包含其他结构体,其中每个元素的内存都相互独立
    char name[30];
    int age;
    char expertin[100];
}cpc, xxd, wr, fgf;
void main()
{

    struct mycoach cpc = {"陈培昌",22,"泰拳,散打"};
    printf("%s\n", cpc.expertin);
    system("pause");
}

技术图片

 

 

#define _CRT_SECURE_NO_WARNINGS
#define jl struct mycoach
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
struct mycoach//mycoach是结构体类型,如果省略就是无名结构体
{
    //还可以包含其他结构体,其中每个元素的内存都相互独立
    char name[30];
    int age;
    char expertin[100];
}cpc = { "陈培昌", 22, "泰拳,散打" };
void main()
{
    printf("%s\n", cpc.expertin);
    system("pause");
}
  • 无名结构体,无法访问,无法创建变量,但下列方法可以(业务场景,限量使用该结构体,如银行数据库的最高权限)
#define _CRT_SECURE_NO_WARNINGS
#define jl struct mycoach
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
struct
{
    //还可以包含其他结构体,其中每个元素的内存都相互独立
    char name[30];
    int age;
    char expertin[100];
}cpc;
void main()
{
    sprintf(cpc.name,"陈培昌");
    cpc.age = 22;
    sprintf(cpc.expertin,"泰拳,散打");
    printf("%s\n", cpc.expertin);
    system("pause");
}

another form

#define _CRT_SECURE_NO_WARNINGS
#define jl struct mycoach
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
struct
{
    //还可以包含其他结构体,其中每个元素的内存都相互独立
    char name[30];
    int age;
    char expertin[100];
}cpc = { "陈培昌", 22, "泰拳,散打" };
void main()
{
    printf("%s\n", cpc.expertin);
    system("pause");
}

 结构体引用:无法整体引用,只能通过变量引用

#define _CRT_SECURE_NO_WARNINGS

#define jl struct mycoach

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

struct mycoach { //还可以包含其他结构体,其中每个元素的内存都相互独立 char name[30]; int age; char expertin[100]; };

void main()

{

    struct mycoach cpc = { "陈培昌", 22, "泰拳,散打" }; //cpc = { "陈培昌", 22, "泰拳,散打" };//错误,{}初始化只能在声明变量时,使用

    printf("%s\n", cpc.expertin);

    system("pause");

}

结构体

标签:就是   crt   img   printf   http   print   多个   行数据   场景   

原文地址:https://www.cnblogs.com/saintdingspage/p/11966293.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!