C语言全局变量,局部变量,结构体分析,枚举类型笔记
2014-06-03 17:29
351 查看
1.局部变量
1>定义:在函数(代码块)内部定义的变量(包括函数的形参)
2>作用域:从定义变量的那一行开始,一直到代码块结束
3>生命周期:从定义变量的那一行开始分配存储空间,代码块结束后就被回收
4>没有固定初始值
2.全局变量
1>定义:在函数(代码块)外部定义的变量
2>作用域:从定义变量的那一行开始,一直到文件结尾(能被后面所有的函数共享)
3>声明周期:程序一启动就会分配存储空间,程序退出时才会被销毁
4>默认的初始值是0
3.结构体
1>基本使用:有多个基本数据类型组成 如:数组,结构体
数组;只能有多个相同类型的数据组成
结构体:可以由多个不同类型的数据构成
2>定义结构体 (根据结构体类型,定义结构体变量)
创建一个人得结构体
struct Person
{
int age;
double height;
char *name;
}
3>结构变量的多种定义方式
* 先定义类型,在定义变量,分开定义
struct Student
{
int age;
};
struct Student stu;
*定义类型的同时定义变量
struct Student
{
int age;
}stu;
*定义类型的同时定义变量(省略了类型名称),缺点:难以重复使用
struct
{
int age;
}stu;
*结构体变量的作用域问题:
如果想要真个程序都能用,就在函数外面定义,在函数例外都定义同一个结构体是可以的,因为作用域不一样
定义在函数外面:全局有效(从定义类型的那行开始,一直到文件结尾)
定义在函数(代码块)内部:局部有效(从定义类型的那行开始,一直到代码块结束)
4.结构体数组
1>书写格式
结构体类型 变量名[]{
{ },
{ },
........
};
如:定义一个排行榜
struct RankRecond[3]
{
{1,"jack",4000},
{2,"rose",2333},
{3,"ken",1111},
}RR;
5.指向结构体的指针
1>书写格式 struct Student *p;
p = &stu;
2>利用指针访问结构体的成员:
(*)p.成员名称
p->成员名称
3>结构体自成访问 变量名.成员名称
6.枚举类型
1>使用:当变量只能用几个服定制是用枚举
2>定义枚举类型
int main()
{
enum.Sex{Man,
Woman,
Unknow
};
// 定义枚举变量
enum Sex s = unknow;
return 0;
}
1>定义:在函数(代码块)内部定义的变量(包括函数的形参)
2>作用域:从定义变量的那一行开始,一直到代码块结束
3>生命周期:从定义变量的那一行开始分配存储空间,代码块结束后就被回收
4>没有固定初始值
2.全局变量
1>定义:在函数(代码块)外部定义的变量
2>作用域:从定义变量的那一行开始,一直到文件结尾(能被后面所有的函数共享)
3>声明周期:程序一启动就会分配存储空间,程序退出时才会被销毁
4>默认的初始值是0
3.结构体
1>基本使用:有多个基本数据类型组成 如:数组,结构体
数组;只能有多个相同类型的数据组成
结构体:可以由多个不同类型的数据构成
2>定义结构体 (根据结构体类型,定义结构体变量)
创建一个人得结构体
struct Person
{
int age;
double height;
char *name;
}
3>结构变量的多种定义方式
* 先定义类型,在定义变量,分开定义
struct Student
{
int age;
};
struct Student stu;
*定义类型的同时定义变量
struct Student
{
int age;
}stu;
*定义类型的同时定义变量(省略了类型名称),缺点:难以重复使用
struct
{
int age;
}stu;
*结构体变量的作用域问题:
如果想要真个程序都能用,就在函数外面定义,在函数例外都定义同一个结构体是可以的,因为作用域不一样
定义在函数外面:全局有效(从定义类型的那行开始,一直到文件结尾)
定义在函数(代码块)内部:局部有效(从定义类型的那行开始,一直到代码块结束)
4.结构体数组
1>书写格式
结构体类型 变量名[]{
{ },
{ },
........
};
如:定义一个排行榜
struct RankRecond[3]
{
{1,"jack",4000},
{2,"rose",2333},
{3,"ken",1111},
}RR;
5.指向结构体的指针
1>书写格式 struct Student *p;
p = &stu;
2>利用指针访问结构体的成员:
(*)p.成员名称
p->成员名称
3>结构体自成访问 变量名.成员名称
6.枚举类型
1>使用:当变量只能用几个服定制是用枚举
2>定义枚举类型
int main()
{
enum.Sex{Man,
Woman,
Unknow
};
// 定义枚举变量
enum Sex s = unknow;
return 0;
}
相关文章推荐
- C语言——结构体、局部变量和全局变量、枚举
- c语言学习笔记之全局变量与局部变量
- C语言 全局变量和局部变量的大小限制
- C语言的全局变量和局部变量
- C语言中全局变量、局部变量、静态全局变量、静态局部变量的区别
- 【C语言学习】不用局部变量和全局变量实现strlen函数
- C语言中全局变量、局部变量、静态全局变量、静态局部变量的区别
- c语言全局变量和局部变量
- C语言中全局变量、局部变量、静态全局变量、静态局部变量的区别
- c语言全局变量和局部变量问题汇总(转)
- Python学习笔记(2)-局部变量与全局变量
- c语言中的全局变量,局部变量,static,extern
- 【我解C语言面试题系列】002 局部变量和全局变量小结?
- 我也要学C语言-第十章:全局变量与局部变量
- C语言局部变量和全局变量
- c语言全局变量和局部变量问题汇总
- c语言全局变量和局部变量问题汇总
- c语言中局部变量能否和全局变量重名?
- 最新发现:C语言中局部变量数组最大只支持1M,而全局变量数组没有这个限制!
- C语言 全局变量和局部变量的大小限制