笔记4(C语言)

#include <studio.h>

int global = 2019;//全局变量
int main()
{
    int local = 2018;//局部变量
    int global = 2020;//局部变量
    printf("global = %d\n", global);
    return 0;
}

上面“global”局部变量的定义是没问题的。

当局部变量和全局变量同名时,局部变量优先使用。
 

变量的作用域和生命周期

作用域(scope):通常情况下,一段代码中所用到的名字并不是总是有效/可用的,

而限定名字可用性的代码范围的就是这个名字的作用域。

局部变量的作用域:就是变量所在的局部范changl围;

全局变量的作用域:整个工程。【若跨文件定义变量,需要声明(extern int 变量名;)】

生命周期

变量的生命周期:变量的创建和销毁之间的时间段。

局部变量的生命周期:进入变量所在的局部范围生命开始,出局部范围生命结束;

全局变量的生命周期:程序的生命周期。

常量

1.字面常量,例如:3.14,10,'a','abc'......

2.const修饰的常变量,例如:(const int num = 10;) 被const修饰,表示该值不可被修改,此时的‘num’被称为常变量,即具有常属性(不能被改变的属性)。

#include <stdio.h>

int main()
{
    int arr[10] = {0}; // 10个元素
    const int n = 10;
    int arr2[n] = {0};//n是变量,这里是不行的。
    return 0;
}
//不过C++里是可以使用这种语法的。

3.#define定义的标识符常量

#include <stdio.h>
#define a = 10000

int main()
{
    
    int n = 'a';
    printf("n=%d\n", n);
    return 0;
}

4.枚举常量

可以一一列举的常量。

枚举常量默认从0开始。

#include <stdio.h>

enum Sex
{
    //这种枚举类型的变量的未来可能取值:
    MALE,
    FEMALE,
    SECRET

};

int main()
{
    
    printf("%d\n", MALE);
    return 0;
}

‘MALE’可以写‘MALE=3,’,附初值。

字符串+转义字符+注释

字符串就是一串字符 - 用双引号括起来的一串字符。

注:字符串的结束标志是一个“\0”的转义字符。在计算字符串长度的时候“\0”是结束标志,不算作字符串内容。

int main()
{
    //字符数组 - 数组是一组相同类型的元素
    //字符串在结尾的位置隐藏了一个\0的字符
    //\0是字符串的结束标志

    //char arr[] = "hello";
    char arr1[] = "abc";
    //char arr2[] = {'a', 'b', 'c'}; //arr2在打印完abc后不会停止,若要停止,要加一个\0。
    char arr2[] = {'a', 'b', 'c','\0'};

    //求字符串长度
    //int len = strlen("abc");//string length 引用头文件#include<string.h>
    //printf("len");
    printf("%d\n", strlen(arr1));
    printf("%d\n", strlen(arr2));
    

    //printf("%s\n", arr1);
    //printf("%s\n", arr2);

    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值