c语言基础3—变量、结构体、枚举

来源:互联网 发布:手机淘宝怎么批量收货 编辑:程序博客网 时间:2024/05/29 14:51

一、变量

1、局部变量的生命周期,从代码生成那一行开始才分配存储空间,到代码块结束变量消亡。同时在函数外面定义的变量是全局变量,它的作用范围是从变量定义的那一行开始,到文件结束,所有方法内部都能共享。全局变量只定义不初始化,里面的值系统会自动初始化,局部变量不初始化,里面的值不确定。函数的形参也相当于在函数内部的变量。


一、结构体

1、要了解结构体变量是也有作用范围的,作用域从定义的那一行开始,到文件结束活代码块结束,类似变量的作用域,因为它也是一种变量。

2、c语言提供了两种类型的聚合类型,数据和结构。数组是相同数据类型的集合,它的每一个元素都是通过下标引用或指针间接引用。结构也是一些值的集合,这些值称为他的成员,但一个结构的各个成员可以有不同的类型。数组可以通过下标来访问,是因为数组元素的长度相同,但结构不同,所以通过名字来访问。

3、结构体和数组想整体初始化的时候,只能在定义的时候初始化。

[java] view plai
  1. struct student 
  2. {
  3. char *name;
  4. int no;
  5. };

  6. int main(){
  7. //如果想给结构整体赋值,只能在初始化的时候,否则职能单个赋值
  8. struct student stu = {“oher”, 123456};

  9. //定义结构题指针变量
  10. struct student *p;

  11. //取结构体地址赋值给指针变量
  12. p = &stu;

  13. //结构体取值的三种方式1点语法 2指针 3箭头
  14. printf(“name = %s, no = %d”, stu.name, stu.no);
  15. printf(“name = %s, no = %d”, (*p).name, (*p).no);
  16. printf(“name = %s, no = %d”, p->name, p->no);
  17. }



4、结构体可以嵌套,即一个结构体里面包含另一个结构体,但要注意不能包含自己类型的结构体。





0 0