0
点赞
收藏
分享

微信扫一扫

C语言【关键字】

上善若水山西太原 2022-04-14 阅读 171
c语言

前言

头发渐渐稀少,可是我的技术还是这么菜,那里出现了问题啊
如果去剃个大佬发型,会不会变强呢!


关键字

常见关键

C语言提供了丰富的关键字,这些关键字都是语言本身预先设定好的,用户自己是不能创造关键字

while   for     goto   if     else   switch    case   default   break   continue
char    short   int    float  long   double   unsigned
void    return   const  do while
auto   enum    extern   register    signed
sizeof   static struct   typedef  union   volatile  

1. 关键字 typedef

typedef 顾名思义是类型定义,这里应该理解为类型重命名。

unsigned int 重命名为shi_1, 所以shi_1也是一个类型名
typedef unsigned int shu_1;

int main()
{
    unsigned int num1 = 0;      这里的num1和num2这两个变量的类型是一样的
    shi_1 num2 = 0;           这两个变量的类型是一样的
    return 0;
}

2. 关键字static

修饰局部变量

例如 1:                                例如 2void test()                              void test()
{                                       {
    int i = 0;                              static int i = 0;
    i++;                                    i++;
    printf("%d ",i);                        printf("%d ",i);
    }                                   }
 这结果是:1 1 1 1 1 1 1 1 1 1          这结果是:1 2 3 4 5 6 7 8 9 10
int main()                           
{                               
 int i = 0;                             
    for(i=0; i<10; i++)
   {
        test();
   }
    return 0;

对比代码1和代码2的效果理解static修饰局部变量的意义

修饰全局变量

代码1:
在另一个 .c源文件
int g_val = 2018;

test.c源文件
int main()
{
    printf("%d\n", g_val);
    return 0;
}
------------------------------------------------------
代码 2:
在另一个 .c源文件
static int g_val = 2018;

test.c源文件
int main()
{
    printf("%d\n", g_val);
    return 0;
}

代码1正常,代码2在编译的时候会出现连接性错误
总结: 一个全局变量被static修饰,使得这个全局变量只能在本源文件内使用,不能在其他源文件内使

3. 修饰函数

代码 1:
add.c源文件
int Add(int x, int y)
{
    return c+y;
}
test.c源文件
int main()
{
    printf("%d\n", Add(2, 3));
    return 0;
}
------------------------------------------------------
代码 2:
add.c源文件
static int Add(int x, int y)
{
    return c+y;
}
test.c源文件
int main()
{
    printf("%d\n", Add(2, 3));
    return 0;
}

代码1正常,代码2在编译的时候会出现错误
总结:一个函数被static修饰,使得这个函数只能在本源文件内使用,不能在其他源文件内使用

来都来了,高台贵手,点个赞吧!
欢迎留言评论,交流进步!

举报

相关推荐

0 条评论