C语言学习记录2022.5.15初识static、type关键字与指针

1、static修饰局部变量时,局部变量的生命周期变长:

void test()
{
    static int a = 1;
    a++;
    printf("%d\n", a);
}

int main()
{
    int i = 0;
    while(i < 5)
    {
        test();
        i++;
    }
    return 0;
}                     //在此例中,打印的应该是2,3,4,5,6;相当于a在test()函数                
                      //中只被赋值了一次并且值被保留了下来

static修饰全局变量时会使其作用域变小,使变量只能在所定义的原文件中使用,extern关键字此时是失效的。

2、而static关键字修饰函数时如同修饰全局变量一样,会改变函数的链接属性,即外链变成内链,不能被extern作用。

3、typedef用来定义已经存在类型的别名,如:

typedef unsigned int uint;
此后语句uint var = 2 等价于unsigned int var = 2.

4、指针用来存放变量地址,目前还不知道有什么具体应用,到后面应该会慢慢了解。指针的类型应该与定义变量的类型一致。指针目前所了解使用方法如下:

int main()
{
    char var = 1;
    char* p = &var;
    *p = 20;
    printf("%d\n", var);
    return 0; 
}                      //要注意的是定义指针p时,char* p和char *p两种写法都是可以的
                       //但是为了避免引起混淆,平时定义指针时就写成char* p。
                       //在此例中,p的值为变量var的地址,“ * ”称为解引用符,用来取p
                       //的值即变量var的地址所指的内容,括号中第三行已经使用解引用符
                       //将p所指的内容即var的值改成了20,所以打印出的var的值是20而
                       //不是1

5、指针大小在32位操作系统中是4字节,在64位操作系统中是8字节。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值