C语言学习-2

文章介绍了C语言中的变量作用域,包括局部和全局变量,以及枚举类型的使用。讨论了变量的生命周期,字符串的处理,特别是数组在表示字符串时的注意事项。还涉及了如何在VisualStudio中修改界面字体和跨C文件调用变量的方法。
摘要由CSDN通过智能技术生成

C语言学习系列文章目录


前言

今天推进了变量和数组以及一些常用操作,了解了生命周期的内容,感觉没学多少东西但是花了不少时间,很多小问题需要解决,代码的实操是有一定难度的。

一、作用域以及变量的内容?

作用域在C语言中的使用比较频繁,应该和之前的局部变量相关叭。局部变量就是指变量所在的局部范围,形式上一般可以通过外部加载的函数和内部使用大括号来定义{};
全局变量通常是在编写最初就写好的,定义方式和局部变量是一样的,整体上都是没有其他不同。

#include<stdio.h>;
#include<iostream>;
using namespace std;
char Quark[10];//全局变量

int main()
{
	int bro = 10;//局部变量
	cout << "good job!"<<"\n";
	cin >> Quark;
	cout << Quark<<"\n";
	cin >> bro;
	{
		int to = 1;//局部的变量,只在大括号内生效
	}
	return 0;
}

标识符常量
采用#define MAX 10000;的形式就是标识符常量了,直接可以用MAX代替10000

枚举型常量
常用于可以一一列举的常量,也就是被固定取值了的变量,在键入的时候也需要严格按照规定内容进行操作

#include<stdio.h>

enum SEX
{
	MALE=3,//如果不给初值那么就会从0开始
	FEMALE,
	SECRET
};

int main()
{
	enum SEX M = MALE;
	printf("%d\n", FEMALE);//这里打印是显示4,如果没有MALE=3那就是从0开始,显示的是1
	scanf("%d\n", M);//只能键入MALE或者FEMALE或者SECRET
	return 0;

}

二、界面字体等的修改

1.工具

2.选项

3.字体颜色

在这些步骤可以更改VS的界面字体等等的内容方便查看;

三、同项目跨c文件调用变量

首先要在另一个文件里面进行全局变量的定义,然后再需要调用这个变量的c文件下声明extern一下该变量就可以正常调用了;
也就是两个源文件之间的变量互通应该是;
因为使用scanf在VS上比较麻烦(需要关闭sdl或者使用scanf_s),所以思虑过后采用了cpp的模式,但是后续应该还是会用回scanf~
譬如如下是源.cpp

#include<stdio.h>
#include<iostream>
using namespace std;
char Quark[10];
extern int de;//声明一下调用了别的文件
int main()
{

	int bro = 10;
	cout << "good job!"<<"\n";
	cin >> Quark;
	cout << Quark<<"\n"<<de<<"\n";
	cin >> bro;
	{
		int to = 1;
	}
	return 0;
}

以下是源1.cpp

#include<stdio.h>
int de = 10;

四、生命周期

变量有一个生命周期的概念,当需要使用变量的时候生成变量,当我们不需要使用的时候就可以销毁变量。
通常局部变量的生命周期就是从进入局部范围生命开始,出局部范围生命结束。
全局变量的生命周期就是main函数的周期,直到程序的生命周期结束才会结束。

五、字符串

字符串主要是通过数组实现,并且对""''比较敏感,一个是串形式自动结尾,一个是字符形式没有结尾,就像下方代码一样,可以直接定义长度或者让他自定义长度,代码中就是没有定义长度的情况。

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

int main()
{
	char arr[] = "hello";//总以\0结尾,储存的时候就是hello\0,隐藏了\0的字符,也就是字符串的结束标识
	char arr0[] = { 'a','b','c' };//没有\0因为不是字符串,可以通过手动添加\0来实现停止操作,也可以定义arr0[3]来实现停止
	int len=strlen(arr0);//可以求字符串长度,需要string.h的头文件,对arr0求就会显示随机值
	printf("%d", len);
	scanf("%s",arr);
	return 0;
}

总结

以上就是今天学习的内容,从变量的角度入手代码,同时也初步了解了数组,数组的内容还是比较难的,后续跟进的一些struct结构应该也会带来不少的问题,希望可以学到点新知识,还有很多门科目需要复习和准备,希望可以顺利度过2023叭~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值