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叭~