9.初始常见关键字

本文详细介绍了C语言中的关键字auto、register、typedef和static,以及它们在变量声明、存储位置和作用域方面的应用。同时探讨了全局变量和函数的静态修饰符对程序链接的影响。
摘要由CSDN通过智能技术生成

 test1.c   (第一个源文件)

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

C语言提供的关键字,不能自己创建关键字
关键字不能是变量字
下面是C语言常见关键字:
1.auto : 是自动的,每个局部变量都是auto修饰的   2.char:是字符类型   3.const:常变量  
4.extern: 是用来声明外部符号的   5.register: 寄存器关键字   6.signed:有符号的,unsigned,无符号的 
7.static:静态的    8.union  联合体(共用体)    9.void:无的,空的    10.typedef:类型重定义
 
include define:是预处理指令
 在计算机里,数据可以存放的地方有:寄存器,高速缓存,内存,硬盘,网盘
 
1.auto演示:
int main()
{
    int a = 10;       //自动创建,自动销毁的 - 自动变量
    //auto int a = 10   ,auto是省略的
    //新的C语音auto也有其他语法,暂时不考虑
    return 0;
}
//2.register演示:
int main()
{
    register int num = 100;  //建议num的值存放在寄存器里
    return 0;
}

//3.typedef演示:
typedef unsigned int u_int;
int main()
{
    unsigned int num = 100;
    u_int num = 100;
    return 0;
}

4.static:
static-静态的(从栈区变到静态区)
static修饰全局变量,改变了局部变量的生命周期(本质上是改变了变量的存储类型)
static修饰局部变量,使得这个全局变量只能在自己所在的源文件内部可以使用,其它源文件不能使用!!
static修饰函数,使得函数只能在自己所在的源文件内部使用,不能在其他源文件内部使用!!
      本质上是将函数的外部链接属性,变成的内部链接属性(和static修饰的全局变量一样)

全局变量,在其它源文件内部可以被使用,是因为全局变量具有外部链接属性,但是被static修饰后,
就变成了内部链接属性,其他源文件就不能链接到这个静态的源文件了!!1


①static修饰的局部变量的显示:
void test()
{
    static int a = 1;  //statio修饰的a不销毁                       //内存分为几个区:
    a++;                                                           //栈区:局部变量,函数的参数
    printf("%d ", a);                                              //堆区:动态内存分配的!!
}                                                                  //静态区:全局变量,static修饰的静态变量
int main() 
{
    int i = 0;
    while (i < 10)
    {
        test();
        i++;
    }
    return 0;
}

②static修饰的全局变量演示:
extern int g_val;
int main()
{
    printf("%d\n", g_val);
    return 0;
}

③static修饰的函数演示;
static extern int Add(int, int);
int main()
{
    int a = 10;
    int b = 20;
    int sum = Add(a, b);
    printf("%d\n", sum);
    return 0;
}

test2.c(第二个源文件)

#define _CRT_SECURE_NO_WARNINGS 1

//②全局变量演示
static int g_val = 2022;

//③函数演示
int Add(int x, int y)
{
    return x + y;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值