A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 尾尾 中级黑马   /  2015-9-30 13:47  /  645 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. [code]//结构体的特点
  2. //同一个作用域内不能定义重名的结构体,若与全局结构体重名,则遵循就近原则
  3. #include <stdio.h>
  4. //全局结构体
  5. struct Person66{
  6.     char *name;
  7.     int age;
  8. };

  9. int main(){
  10. //    可以在定义结构体类型的同时定义结构体变量名
  11.     //第一种
  12.     struct Person{
  13.         char *name;
  14.         int age;
  15.     };
  16.     struct Person per={"cat",20};
  17.     //第二种  因为前面的整体类似于 int
  18.     struct Person1{
  19.         char *name;
  20.         int age;
  21.     } per1={"cat1",21};
  22.     //第三种
  23.     struct Person2{
  24.         char *name;
  25.         int age;
  26.     } per2;
  27.     per2.name="heima";//此处不能这样定义:per2={"heima",18};
  28.     per2.age=18;
  29.     //第四种 匿名类型结构体 但是必须同时初始化变量 不能复用,只能将语句全部再来一遍
  30.     struct {
  31.         char *name;
  32.         int age;
  33.     } per3;
  34.     struct {
  35.         char *name;
  36.         int age;
  37.     } per4;//定义第二个要再来一遍
  38.     per3.name="heima";
  39.     per3.age=18;
  40.    
  41. //    也可以这样嵌套定义
  42.     struct Sun{
  43.         char *name;
  44.         int age;
  45.     };
  46.     struct Father{
  47.         char *name;
  48.         int age;
  49.         struct Sun;
  50.     }

  51.     return 0;
  52. }
复制代码
[/code]

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马