新闻详情

新闻详情

首页 / 资讯中心 / 详情

对于C语言的初始理解和困境(混沌期)

发布时间:2026/9/14 20:45:26来源:尧图网络
对于C语言的初始理解和困境(混沌期)
示例#includestdio.hintmain(){printf(hello world\n);return0;}这是我打出的第一个程序也可以说每个初学者都会进行的最简单的代码但要是只会跟着敲代码是永远都学不会编程的需要理解自己打的每个字都代表着什么意思。C语言大致是分为四个步骤源代码{(.c文件}—预处理→编译→汇编.s目标文件(.o)—链接→可执行程序首先我们需要解释一些名词才能更好的理解代码声明在代码里调用printf之前编译器必须先 “认识” 它 —— 知道它存在、长什么样返回值、参数。这种 “提前告知存在与签名” 的东西就叫声明。就类似于考试前登记姓名核验身份一样。在学习的时候我一直以为声明是给“printf”赋予打印的命令或者在执行命令时告诉编译器“printf”是打印命令在之后问了ai才知道是错的int printf(const char *format, ...); // 这就是一条声明 │ │ │ │ │ └── 参数接收一个格式字符串以及可变参数 │ └───────────── 函数名叫 printf └────────────────── 返回值int 这段声明传达的信息是** 存在一个函数叫 printf它接收一个 const char* 格式串返回 int。**它没有告诉编译器 “printf 是打印用的”更没有 “printf 是打印命令” 这种语义 ——“printf 用来打印” 是你程序员知道的用途不是声明传达的信息。编译器只关心 “存在、叫什么、参数返回值是什么” 这些机械特征好让它检查你调用得对不对。stdio.h是什么stdio.h是一个头文件也是函数库里面装着很多函数的声明包括 printf、scanf、putchar 等。它不是 “一项声明”而是声明们的集合。而“声明们”就是指printf、scanf、putchar等函数的集合。C语言库函数#include stdio.h的作用在预处理阶段把stdio.h里的那一堆声明复制插入到#include这一行所在的位置让编译器能看到这些声明。声明只告诉编译器 “printf 存在、入参、返回类型”既不说它用来打印也不包含真正打印的指令。printf 真正打印到屏幕的代码在标准库libc里由编译流程最后一步链接接入。int函数int是一种返回函数且返回的是整数intmain(){// ...做一些事...return0;// 返回 0告诉系统程序正常结束}return 0;→ 返回 0约定表示成功、正常退出返回其他非 0 值 → 一般表示出错比如返回 1、-1所以在结束后会打上return 0来表示代码结束但int本身是 C 语言里表示 “整数” 的基本数据类型以下为返回类型函数返回类型意思例子意思例子int返回整数int main()void什么都不返回void hello()double返回小数double area(double r)char返回单个字符char getChar()main函数主函数。 main 前⾯的 int 表⽰ main 函数执⾏结束的时候返回⼀个整型类型的值。所以在 main 函数的最后写 return 0;main函数是程序的入口main函数有且只有一个即使有多个.c文件main函数也只有一个字符和ASCII先写那么多吧其实学到的不止这么多但感觉自己整理自己学到的知识规整起来很束手无措想到一个知识点之后又会跳到另一个知识点最后又开始往上面堆砌新的知识总想让我写的东西给后来人看也能看的明白但又觉得这些知识随便哪里也能学得到结果到最后写出来的东西杂乱无章还像复制粘贴出来的脑袋昏昏的果然老师也不是那么好当的。。。看来我得好好规划一下这个就先当做是我的混沌期吧笑或许我应该走一走简单路线看看怎么用最简单的话把我学的东西说出来,不过写这么点东西好歹把博客里的效果都学的差不多了。共勉
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

ReSharper插件:提升Visual Studio开发效率的终极指南 2026/9/14 20:43:38

ReSharper插件:提升Visual Studio开发效率的终极指南

1. ReSharper插件概述:为什么它值得你投入时间学习?ReSharper是JetBrains为Visual Studio开发的一款商业插件,它远不止是一个简单的代码补全工具。作为一名使用VS超过10年的老开发者,我可以负责任地说:ReSharper彻底改…

阅读更多 →
松下AXE640124D板对板连接器特性与应用解析 2026/9/14 20:43:38

松下AXE640124D板对板连接器特性与应用解析

1. 产品概述:松下AXE640124D板对板连接器松下AXE640124D是一款高性能SMD(表面贴装)板对板连接器,专为现代电子设备中的高密度互连需求设计。作为松下连接器产品线中的成熟型号,它采用0.4mm间距设计,在紧凑空…

阅读更多 →
LangChain Agent开发与Docker生产部署实战 2026/9/14 20:43:38

LangChain Agent开发与Docker生产部署实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Dagger TypeScript SDK 中的 SDKConfig 类:模块 SDK 配置的客户端访问指南 2026/9/14 20:43:38

Dagger TypeScript SDK 中的 SDKConfig 类:模块 SDK 配置的客户端访问指南

Dagger TypeScript SDK 中的 SDKConfig 类:模块 SDK 配置的客户端访问指南 【免费下载链接】dagger Automation engine to build, test and ship any codebase. Runs locally, in CI, or directly in the cloud 项目地址: https://gitcode.com/GitHub_Trending/da…

阅读更多 →
三相异步电机矢量控制变频调速系统设计与Simulink实现 2026/9/14 20:43:38

三相异步电机矢量控制变频调速系统设计与Simulink实现

1. 三相异步电机矢量控制变频调速系统概述三相异步电机作为工业领域应用最广泛的动力设备之一,其调速性能直接影响生产效率和能源消耗。传统V/f控制方式在动态响应和转矩控制精度方面存在明显不足,而矢量控制技术通过解耦定子电流的转矩分量和励磁分量&a…

阅读更多 →
光热电站调度技术:储热系统与电网调节优势 2026/9/14 20:40:38

光热电站调度技术:储热系统与电网调节优势

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞