zoukankan      html  css  js  c++  java
  • 12)结构体

    1. 结构体对齐--->实际上就是,拿空间换时间的, 整齐的对齐,可以访问内存比较省时间,按照规律或者倍数访问内存,肯定是省时间的
    2. 上面的结构体对齐,,主要是应对面试题
    3. 结构体内容更主要涉及:
        1.   结构体类型定义
        2.        结构体变量定义
        3.        结构体变量的初始化
        4.        typedef改类型名字
        5.        点运算符和指针法操作结构体
        6.        结构体也是一种数据类型,复合类型,自定义类型
    4.   结构体类型的定义:
       1 //struct 是关键字
       2 //struct teacher(这个teacher是一个随便起的名字) 合在一起才是类型
       3 
       4 //{}  后面有分号
       5 
       6 struct   Teacher
       7 {
       8   char  name[50];
       9   int age;    
      10 
      11 }
    5. 结构体变量的定义
       1 //1.先定义类型,再定义变量(常用)
       2 
       3 struct  teacher t1;  //全局变量
       4 
       5 int main()
       6 {
       7    struct teacher t2;   //局部变量 
       8 
       9 }
      10 
      11 
      12 //2.定义类型,同时定义变量
      13 struct  teacher
      14 {
      15 
      16 }t1,t2;
      17 //这个t1和t2,就是变量  这个t1和t2是全局变量?
    6. 结构体变量的初始化
       1 //1.定义变量时,直接初始化
       2  struct teacher t7={‘dasdsa’,10};
       3 
       4 //2.或者这样:
       5 struct  teacher
       6 {
       7    char name【50】;
       8     int   age;
       9 
      10 }t1={”fadsf“,30};
      11 
      12 //3.或者
      13 int  main()
      14 {
      15     struct  teacher t1.name=”“djasfds”;
      16     t1.age=1017 }
    7. 为啥还可以这样:  strcpy(t1.name,"wnagadhk")     -->那个不是结构体变量的名字吗
    8. 结构体只是一个类型,还没有分配空间,只有根据类型,定义变量,采分配空间,有了空间才能赋值
    9. 结构体变量内容之间的拷贝-------------------------相同类型的两个变量可以相互赋值
       1 //只有结构体里面的内容一样,才可以互相赋值
       2 
       3 //比如
       4 struct  student
       5 {
       6     int  a;
       7 };
       8 
       9 
      10 struct  teacher
      11 {
      12     int b;
      13 };
      14 
      15 这样不可以赋值
       1 struct  student
       2 {
       3    int a; 
       4 };
       5 
       6 int main()
       7 {
       8     struct  student  st1.a=10 9     struct  student st2=st1;
      10 
      11 
      12 //这个就可以
      13 }

      把st1类型的变量内存的值拷贝给st2成员变量的内存    这个st1和st2没有半毛钱关系

  • 相关阅读:
    [python] defaultdict
    [VM workstation]VM workstation 中的虚拟机连不上网络
    [Docker] docker 基础学习笔记1(共6篇)
    [python] import curses
    servlet 产生随机验证码
    JSTL标签库 sql标签
    JSTLLearning
    Ajax实现联想(建议)功能
    HDU 1241
    Servlet实现文件上传
  • 原文地址:https://www.cnblogs.com/xiaoyoucai/p/8177199.html
Copyright © 2011-2022 走看看