文章 2023-11-14 来自:开发者社区

【C语言航路】第十五站:程序环境和预处理(下)

了解了#的作用,我们在来了解一下##的作用##可以把位于它两边的符号合成一个符号。它允许宏定义从分离的文本片段创建标识符。如下代码所示#include<stdio.h> #define CAT(x,y) x##y int main() { int helloworld = 2023; printf("%d\n", CAT(hello, world)); return 0;...

【C语言航路】第十五站:程序环境和预处理(下)
文章 2023-11-14 来自:开发者社区

【C语言航路】第十五站:程序环境和预处理(上)

一、程序的翻译环境和执行环境在ANSI C的任何一种实现中,存在两个不同的环境。第1种是翻译环境,在这个环境中源代码被转换为可执行的机器指令。第2种是执行环境,它用于实际执行代码。这里我们需要注意的是,计算机只能识别二进制指令,而这个机器指令就是二进制指令,也就是说,我们的源代码也就是test.c文件需要先经过翻译环境转变为机器指令。而vs2022就充当了这个翻译环境当我们点击这个的时候,注意应....

【C语言航路】第十五站:程序环境和预处理(上)
文章 2023-11-14 来自:开发者社区

【C语言航路】第十四站:文件(下)

4.fscanf和fprintf(1)fscanf和fprintf的介绍下面是frintf他的作用是,格式化的将数据写入文件中,即将内存的数据写入文件下面是fscanf他的作用是将pf这个文件里面的数据以格式化的形式输入到内存中(2)fprintf和fscanf的使用#include<stdio.h> struct S { char name[20]; int age; ...

【C语言航路】第十四站:文件(下)
文章 2023-11-14 来自:开发者社区

【C语言航路】第十四站:文件(上)

、为什么使用文件在我们前面写通讯录的时候,我们发现还存在一些问题,因为里面的数据都是存储在内存中的,当我们一旦将程序关掉,数据就消失了。那么有没有什么办法能让数据不会消失呢?答案是有的。这就涉及到了数据持久化的问题,我们一般数据持久化的方法有,把数据存放在磁盘文件、存放到数据库等方式使用文件我们可以将数据直接存放在电脑的硬盘上,做到了数据的持久化二、什么是文件磁盘上的文件是文件。但是在程序设计中....

【C语言航路】第十四站:文件(上)
文章 2023-11-14 来自:开发者社区

【C语言航路】第十三站:动态内存管理(下)

3.对非动态开辟的空间使用free如下代码所示,a是栈区上的数据,但是我们对a进行了free,那么最终的结果就是程序挂了#include<stdlib.h> int main() { int a = 0; int* p = &a; free(p); p = NULL; return 0; }4.使用free释放一块动态开辟内存的一部分如下代码所示,我们在赋...

【C语言航路】第十三站:动态内存管理(下)
文章 2023-11-14 来自:开发者社区

【C语言航路】第十三站:动态内存管理(上)

一、为什么存在动态内存分配我们已经知道的内存开辟方式有int val = 20;//在栈空间上开辟四个字节char arr[10] = {0};//在栈空间上开辟10个字节的连续空间但是这样开辟出来的空间有两个特点1. 空间开辟大小是固定的。2. 数组在申明的时候,必须指定数组的长度,它所需要的内存在编译时分配。但是对于空间的需求,不仅仅是上述的情况。有时候我们需要的空间大小在程序运行的时候才能....

【C语言航路】第十三站:动态内存管理(上)
文章 2023-11-14 来自:开发者社区

【C语言航路】第十二站:自定义类型:结构体、枚举、联合体

一、结构体1.结构体的基础知识结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。和数组相比较,数组是一些值的集合,这些值的类型是相同的2.结构体的声明struct tag{        member-list;}variable-list;例如:#include<stdio.h> struct Stu { cha...

【C语言航路】第十二站:自定义类型:结构体、枚举、联合体
文章 2023-11-14 来自:开发者社区

【C语言航路】第十一站:字符串、字符和内存函数(下)

(2)strerror的使用#include<stdio.h> #include<string.h> int main() { printf("%s\n", strerror(0)); printf("%s\n", strerror(1)); printf("%s\n", strerror(2)); printf("%s\n", strerror(3));...

【C语言航路】第十一站:字符串、字符和内存函数(下)
文章 2023-11-14 来自:开发者社区

【C语言航路】第十一站:字符串、字符和内存函数(中)

4.strcmp(1)strcmp库函数文档1.这个函数有两个参数都是const char*类型的,因为我们不会进行修改,我们只会进行查看2.这个函数的作用是比较两个字符串的大小,比较规则是:从第一个字符依次开始比较,一个字符一个字符比较,谁的ASCII码值大,谁就大。如果相等则比较后一个字符。3.这个函数的返回值是int类型,如果str1大于str2,则返回一个大于0的数,如果相等则返回0,如....

【C语言航路】第十一站:字符串、字符和内存函数(中)
文章 2023-11-14 来自:开发者社区

【C语言航路】第十一站:字符串、字符和内存函数(上)

一、字符串函数1.strlen(1)strlen的库函数文档如下图所示,是strlen在库函数中的文档。它的参数是const char*类型的,这是考虑到它不会被改变的原因返回类型是size_t类型的,这是考虑到它计算的是长度不会是负数的原因这个函数返回的是一个字符串的长度,传入一个地址,计算的是\0字符之前的长度(2)strlen的模拟实现在这里我们采用三种方式来实现:循环计数、递归、指针减指....

【C语言航路】第十一站:字符串、字符和内存函数(上)

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

开发与运维

集结各类场景实战经验,助你开发运维畅行无忧

+关注