C语言基础——其他数据类型


根据变量的作用域,可以分为:

 1.局部变量:
 1> 定义:在函数(代码块)内部定义的变量(包括函数的形参)
 2> 作用域:从定义变量的那一行开始,一直到代码块结束
 3> 生命周期:从定义变量的那一行开始分配存储空间,代码块结束后,就会被回收
 4> 没有固定的初始值
 
 2.全局变量
 1> 定义:在函数外面定义的变量
 2> 作用域:从定义变量的那一行开始,一直到文件结尾(能被后面的所有函数共享)
 3> 生命周期:程序一启动就会分配存储空间,程序退出时才会被销毁
 4> 默认的初始值就是0
例如,

#include <stdio.h>
int age;
void test()
{
    int age;
    age = 10;
}
int main()
{
    printf("%d\n", age);// 0
    
    int age = 20;
    
    printf("%d\n", age);// 20
    
    test();
    
    printf("%d\n", age);// 20
    return 0;
}





// 全局变量:a、b、c
// 局部变量:v1、v2、e、f
#include <stdio.h>
// 变量a的初值是10
int a = 10;
// 变量b的初值是0
// 变量c的初值是20
int b , c = 20;

int sum(int v1, int v2)
{
    return v1 + v2;
}

void test()
{
    b++;
    
    int i = 0;
    i++;
    
    printf("b=%d, i=%d\n", b, i);
}
int main()
{
    test();
    test();
    test();
    int e = 10;
    {
        {
            int f = 30;
        }
    }
    return 0;
} 



枚举

    枚举是C语言中的一种基本数据类型,并不是构造类型,它可以用于声明一组常数。当一个变量有几个固定的可能取值时,可以将这个变量定义为枚举类型。比如,你可以用一个枚举类型的变量来表示季节,因为季节只有4种可能的取值:春天、夏天、秋天、冬天。

 枚举的一般形式为:enum 枚举名 {枚举元素1,枚举元素2,……};

enum Season {spring, summer, autumn, winter}; 


跟结构体一样,有3种方式定义枚举变量


1.先定义枚举类型,再定义枚举变量
enum Season {spring, summer, autumn, winter};
num Season s;
 
2.定义枚举类型的同时定义枚举变量
enum Season {spring, summer, autumn, winter} s;
 
3.省略枚举名称,直接定义枚举变量
enum {spring, summer, autumn, winter} s;
上面三种方式定义的都是枚举变量s


#include <stdio.h>

int main()
{
    enum Sex { Man, Woman, Unkown};
    
    // 0男  1女 -1不详
    //int sex = 3;
    //enum Sex s = Unkown;
    
    // 1.定义枚举类型
    enum Season
    {
        spring = 1,
        summer,
        autumn,
        winter
    };
    
    // 2.定义枚举变量
    enum Season s = 100000;
    
    
    printf("%d\n", s);
    
    
    return 0;
}




数据类型总结


 一、基本数据类型
1.int
1> long int、long:8个字节  %ld
2> short int、short:2个字节 %d %i
3> unsigned int、unsigned:4个字节 %zd 
4> signed int、signed、int:4个字节 %d %i

2.float\double
1> float :4个字节 %f
2> double:8个字节 %f

3.char
1> 1个字节 %c %d
2> char类型保存在内存中的是它的ASCII值
 'A' --> 65

二、构造类型
1.数组
1> 只能由同一种类型的数据组成
2> 定义:数据类型 数组名[元素个数];

2.结构体
1> 可以由不同类型的数据组成
2> 先定义类型,再利用类型定义变量

三、指针类型
1.变量的定义
int *p;

2.间接操作变量的值
int a = 10;
p = &a;
*p = 20;

四、枚举类型
使用场合:当一个变量只允许有几个固定取值时


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值