C语言学习之路之基础变量
Hello,大家好,今天又和大家见面了!前两天,我看到了几款游戏引擎渲染效果的对比的视频,https://www.bilibili.com/video/av5113296?from=search&seid=8788485164924869274,就是哔哩哔哩上这个视频,我把链接放在这里了!当我看到这几款游戏引擎的渲染效果之后,开始觉得,计算机图形学和算法的重要性。游戏引擎本来就是对性能有很高要求的软件系统,所以,一般是使用C/C++语言加上一部分的汇编语言开发而成的,支持GPU的并发编程,可以说是算法的集合体。而在这里,程序的优化就非常的重要。我们都知道,有一部分游戏,虽然本身很大,但是,当你在玩游戏的时候,却并不会感觉得到太过于明显的卡顿,但是另外一部分游戏,却是特别的卡顿。这里涉及到程序优化的一部分知识。
C/C++程序设计语言是没有GC的,然而像Java,Python,一起其他的一些高级语言,往往都带有GC,这导致在游戏过程中会出现抖动,游戏不顺畅。所以,游戏开发这个领域,还是C/C++的主战场,虽然现在有一种新的编程语言Rust也是不带有GC的,但是这个语言诞生的比较晚,所以,目前的主流游戏还是使用C++等开发。
说了这么多,让我们进入到C语言变量的学习吧!
变量是个什么东西呢?变量就是一块内存空间的别名。不过C语言中的内存地址的访问,不仅仅可以通过变量名字访问,还可以通过指针来访问。我们本次就介绍一下基本数据类型以及指针类型。大家坐好,开车了~
基本数据类型分为数值类型和字符类型,而数值类型则包括整型,实型;字符数据类型则是字符型。整形包括short,int,long,long long,而实型则包括float和double两种,字符型的包括char类型。这些数据类型是有大小限制的,首先呢,必须声明的是,千万千万不能有整型数据的溢出,这样会导致安全问题。还有就是浮点数的大小比较问题,绝对不是直接使用等号就可以解决的。
与基本数据类型对应的指针类型有:int*, char*, long*, float*, double*等等,这些数据类型代表的是指针,其实指针本质上是一种存放地址的数据类型,可以通过指针获得指针指向的内存空间的数据。
C语言中没有字符串,在C语言中是通过字符数组来模拟的字符串。C语言中的字符串就是以'\0'结尾的字符数组,而且C语言不支持字符串的直接相加减,必须通过特定的函数来操作,具体的函数在<string.h>头文件中可以找到,主要有strstr(查找子串),strcat(连接两个字符串), strcpy(进行字符串的拷贝)等等函数。
还有C语言中并没有bool类型,不过在C99中引入了bool类型,需要在<stdbool.h>头文件中找到他们的定义。
今天所要讲的知识点就这么多,希望大家能够消化好。我们下次再见~
C语言学习之路之基础变量的更多相关文章
- go语言学习之路 二:变量
说道变量,首先应该提一提关键字,因为不能把关键字当做变量来声明. 关键字: 下面列出GO语言的关键字或保留字: break default func interface select case def ...
- python学习之路-day2-pyth基础2
一. 模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...
- 12天学好C语言——记录我的C语言学习之路(Day 11)
12天学好C语言--记录我的C语言学习之路 Day 11: 因为指针部分比较的难,所以我们花费的时间也是最长的,希望大家耐的住性子,多多理解,多多打代码.好了,废话不多说,来看第11天的学习. //编 ...
- 12天学好C语言——记录我的C语言学习之路(Day 10)
12天学好C语言--记录我的C语言学习之路 Day 10: 接着昨天的指针部分学习,有这么一个题目: //还是四个学生,四门成绩,只要有学生一门功课没及格就输出这个学生的所有成绩 /*//progra ...
- 12天学好C语言——记录我的C语言学习之路(Day 9)
12天学好C语言--记录我的C语言学习之路 Day 9: 函数部分告一段落,但是我们并不是把函数完全放下,因为函数无处不在,我们今后的程序仍然会大量运用到函数 //转入指针部分的学习,了解指针是什么 ...
- 12天学好C语言——记录我的C语言学习之路(Day 5)
12天学好C语言--记录我的C语言学习之路 Day 5: 第五天的学习开始了,今天我们主要对几个程序进行编写,让自己充分的熟练编程语言,大量的题目会让自己变的精炼.以一个程序(program 5.1) ...
- 12天学好C语言——记录我的C语言学习之路(Day 2)
12天学好C语言--记录我的C语言学习之路 Day 2: 我建议大家每一天学习之前都仅凭记忆去敲前一天敲过的最后一个程序,或者敲前一天你认为最难最长的一个程序,如果一晚上的睡眠之后不看书还能敲的出来, ...
- 12天学好C语言——记录我的C语言学习之路(Day 1)
12天学好C语言--记录我的C语言学习之路 Day 1: 刚刚入门C语言,那么肯定要先把什么是C语言和大家讲清楚,那么大家看下面一段程序(program 1.1): /*//program 1.1 ...
- Go语言学习之路
我关于Go语言的博客原本发布于我的个人网站:wwww.liwenzhouu.com.但是被某些人抄怕了,没办法只好搬运到博客园. 我的Go语言学习之路 2015年底我因为工作原因接触到了Go语言,那时 ...
随机推荐
- Hibernate学习笔记一之注解
1.@Entiy 实体类注解 2.@Table 映射表 (name=“”)表名 3.@Coulmn @Column( name="columnName"; ...
- 【原创】python requests 库底层Sockets处于close_wait状态
以前对于Requests库只是简单是使用,在现在公司的后台中,有多个接口是直接使用requests.get .post之类的方法来做的,进行过一段时间的压力测试,发现性能低的可怜,且linux服务器有 ...
- 使用MS的ScriptDom来拆解TSQL脚本
此处提供9.1.40413.0版本的DLL一共4个:Microsoft.Data.Schema.dll.Microsoft.Data.Schema.ScriptDom.dll.Microsoft.Da ...
- Hive学习之路 (十二)Hive SQL练习之影评案例
案例说明 现有如此三份数据:1.users.dat 数据格式为: 2::M::56::16::70072, 共有6040条数据对应字段为:UserID BigInt, Gender String, A ...
- Docker实战(五)之端口映射与容器互联
除了网络访问外,Docker还提供了两个很方便的功能来满足服务访问的基本需求:一个是允许映射容器内应用的服务端口到本地宿主主机;另一个是互联机制实现多个容器间通过容器名来快速访问. 1.端口映射实现访 ...
- python获取网站http://www.weather.com.cn 城市 8-15天天气
参考一个前辈的代码,修改了一个案例开始学习beautifulsoup做爬虫获取天气信息,前辈获取的是7日内天气, 我看旁边还有8-15日就模仿修改了下.其实其他都没有变化,只变换了获取标签的部分.但是 ...
- python 定时器schedule执行任务
import schedule import time """英文版书籍:<essential sqlalchemy>,这本书讲了很多在每天某个指定的时间点上 ...
- Msys/MinGW与Cygwin/gcc
一. MinGW MinGW 官方网站为 http://www.mingw.org/ MinGW,即 Minimalist GNU For Windows(GCC compiler suite).它是 ...
- 如何接好CAN的“地”
[导读]CAN总线以其高可靠性.实时性.灵活性以及严谨的数据处理机制等特点,在工业现场和汽车行业得到广泛应用,但随着环境干扰以及节点数目的增加等对CAN总线的稳定性提出更高的要求,而面对电源地.信号地 ...
- 利用js编写一个简单的html表单验证,验证通过时提交数据(附源码)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...