想要深度了解C吗?

简介: 想要深度了解C吗?

1、第一个C程序

#define  _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<windows.h>//系统头文件,为了停频
int main()
{
  printf("hello world!");//停频
  system("pause");
  return 0;
}

提示:vs2013版本没有自动停频功能,所以可以运用系统头文件来实现停频的效果


在编译器中点击开始执行实际上:.c源文件------>.obj二进制目标文件------>.exe可执行文件


当我们在编译器中执行完之后,我们可以在项目文件的路径下找到一个Debug文件夹,里面有源文件编译、链接后生成的可执行文件,双击两下也可以运行。


当你把编译器中的解决方案配置改成了Release版本时,然后用在编译器中执行完之后我们可以在项目文件的路径下找到一个Release文件夹,里面有源文件编译、链接后生成的可执行文件,双击两下也可以运行。


Debug:测试版本

Release:发布版本

在Windows中双击的本质是运行程序,将程序加载到内存当中


任何程序在运行的时候都要加载到内存当中


问题1:为什么所有程序运行都要加载到内存当中?----------》快


q4.png


问题2:当没有加载到内存的时候在哪里?--------》硬盘


q3.png


2、变量声明与定义

2.1变量是什么?

答:在内存中开辟特定大小的空间,用来保存数据。比如:int a=0;实质上是在内存中开辟一个4个字节的空间,名字叫做a。&a就可以找到这块内存的地址


2.2如何定义变量

int a = 10;
char b = 'a';
double c = 10.5;

类型   变量名  =  默认值


2.3为什么要定义变量(为什么)?

计算机是为了解决人计算能力不足的问题而诞生的。即,计算机是为了进行计算的。 而计算,就需要数据。 而要计算,任何一个时刻,不是所有的数据都要立马被计算。 如同:要吃饭,不是所有的饭菜都要立马被你吃掉。饭要一口一口吃,那么你还没有吃到的饭菜,就需要暂时放在盘子里。 这里的盘子,就如同变量,饭菜如同变量里面的数据。 换句话说,为何需要变量?因为有数据需要暂时被保存起来,等待后续处理。 那么,为什么吃饭要盘子?我想吃一口菜了,直接去锅里找不行吗?当然行,但是效率低。 因为我们吃饭的地方,和做饭的地方,是比较"远"的。


2.4变量定义的本质

定义变量的本质:在内存中开辟一块空间,用来保存数据。(为何一定是内存:因为定义变量,也是程序逻辑的一部分,程序已经被加载到内存)


2.5变量的声明

例子:假设有一个宿舍住了8个男生,这8个男生都喜欢如花这位女生,但是这八个男生都害怕被拒绝,于是都不敢找如花告白。终于有一天这八名男生中有一名男生叫张三,他鼓起勇气偷偷的拿着一束花向如花告白了,如花考虑了一下便答应了他(定义)。追到如花的张三害怕室友对如花有非分之想于是就告诉室友,如花已是我的女朋友了(声明)。

q2.png



3、万全关键字

C语言一共多少个关键字呢?一般的书上,都是32个(包括本书),但是这个都是 C90(C89) 的标准。其实 C99 后又新增了5个关键字。不过,目前主流的编译器,对C99 支持的并不好。

q1.png





相关文章
|
27天前
|
存储 安全 编译器
C++学习过程中的一些值得注意的小点(1)
C++学习过程中的一些值得注意的小点(1)
|
9月前
|
人工智能 自然语言处理 文字识别
理解指向,说出坐标,Shikra开启多模态大模型参考对话新维度
理解指向,说出坐标,Shikra开启多模态大模型参考对话新维度
133 0
|
11月前
|
自然语言处理 数据建模 计算机视觉
实验分析非常精彩 | Transformer中的位置嵌入到底改如何看待?(一)
实验分析非常精彩 | Transformer中的位置嵌入到底改如何看待?(一)
158 0
|
11月前
|
存储 编解码 C++
实验分析非常精彩 | Transformer中的位置嵌入到底改如何看待?(二)
实验分析非常精彩 | Transformer中的位置嵌入到底改如何看待?(二)
410 0
|
11月前
|
自然语言处理 监控 机器人
能看图、会聊天,还会跨模态推理和定位,能落地复杂场景的DetGPT来了
能看图、会聊天,还会跨模态推理和定位,能落地复杂场景的DetGPT来了
152 0
|
11月前
|
存储 人工智能 弹性计算
大模型之外,阿里云对未来的真正布局是什么?
大模型之外,阿里云对未来的真正布局是什么?
347 0
“从幼稚到成熟,是从不负责任到承担责任的过程” | 技术人金句系列
技术人做事情,判断力和分寸感很重要。有时候你遇到的困难和问题,可能别人早就经历过、克服过,并沉淀了与之匹配的“判断力”和“分寸感”。 今天,我们想分享来自大淘宝技术工程师们的《人间清醒语录》,这些金句里凝结了他们多年实践经验的智慧,希望可以给你带来启发和思考。
157 0
“从幼稚到成熟,是从不负责任到承担责任的过程” | 技术人金句系列
|
数据库 数据安全/隐私保护
【号外】-温习如何画E-R图
【号外】-温习如何画E-R图
【号外】-温习如何画E-R图
|
机器学习/深度学习 存储 人工智能
如何让用户找到想要的内容?阿里文娱搜索算法实践
视频搜索是涉及信息检索,自然语言处理(NLP),机器学习、计算机视觉(CV)等多领域的综合应用场景,随着深度学习在这些领域的长足进展以及用户对视频生产和消费的广泛需求,视频搜索技术的发展在学术和工业界都取得了飞速的发展。
如何让用户找到想要的内容?阿里文娱搜索算法实践
|
机器学习/深度学习 人工智能 自然语言处理
注意力机制想要觉醒AI,总共分几步?
一场疫情,让所有线下会议按下了暂停键,AI也不例外。