C语言学习笔记:变量、常量、字符串

本文深入解析了变量的作用域概念,包括局部变量在函数内的限制以及全局变量的工程范围。同时探讨了变量的生命周期,如局部变量从创建到退出作用域,全局变量贯穿整个程序。通过实例讲解常量、字符串和数组,帮助理解如何在C语言中正确操作。
摘要由CSDN通过智能技术生成

变量的作用域和生命周期

作用域: 这个变量在哪里使用,哪个领域就是作用域;

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

全局变量的作用域:整个工程

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

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

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

int main()

{

   printf("bit");

   int a = 10;

   printf("a = %d\n", a);

   return 0;

}

常量:

  1. 字面常量
  2. const修饰的常变量

int num = 10;       //变量

num = 20;

printf("num = %d\n", num);

const int num = 10; 

printf("num = %d\n", num);

return 0;

  • num就是常变量—具有常属性(不能被改变的属性)

const就是固定数值用的

  • #define 定义的标识符常量:
#define MAX=1000

int n =MAX;

printf("%d\n",n);

枚举常量:
性别

enum Sex
{
    //这种枚举类型的变量的未来可能取值
    //枚举常量从零开始排
    Male,
    Female,
    Secret
};

int main()
{
    enum Sex = Male;
    printf("%d\n", Male);
        printf("%d\n", Female);
    printf("%d,Secret");
    return 0;
}
  • 字符串:即一串字符

"hello\n"

int main()
{
char arr[]="hello";
return 0;
}

这种由双引号引起来的一串字符称为字符串字面值(String Literal)、字符串。

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

字符数组-数组是一组相同类型的元素

字符串在结尾的位置隐藏了一个\0的字符

int main()
{
	char arr1[] = "abc";
	char arr2[] = {'a', 'b', 'c'};
	printf("%s\n", arr1);
	printf("%s\n", arr2);
	return 0;
}

以上例子中:

双引号引起来的是一串字符;单引号引起来的是一个字符

f5调试后可以发现arr1是abc,因为它的结尾有abc\0

arr2的结尾并没有结束符号\0,所以后面的数组空间被占用,出现乱码“烫烫烫

那么修改一下:

#include<stdio.h>
int main()
{
	char arr1[] = "abc";
	char arr2[] = {'a', 'b', 'c','\0'};
	printf("%s\n", arr1);
	printf("%s\n", arr2);
	return 0;
}

使用strlen求字符串的长度:

eg:

#include<stdio.h>
#include<string.h>

int main()

{

    int len = strlen("abc");            //string length

                                        //引用头文件<string.h>

    printf("%d\n", len);

    return 0;

}

eg2:

#include<stdio.h>

#include<string.h>

int main()

{

    char arr1[] = "abc";

    char arr2[] = {'a', 'b', 'c', '\0'};

    printf("%d\n", strlen (arr1));

    printf("%d\n", strlen (arr2));

    return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值