1、C语言中的预处理指令有哪些?请列举几个常用的预处理指令。
#include:用于包含头文件,将指定的头文件内容插入到当前代码位置。例如:#include <stdio.h>。
#define:用于定义宏,将一个标识符或表达式替换为指定的字符串。例如:#define PI 3.1415。
#ifdef / #ifndef:用于条件编译,根据指定的条件编译代码块。#ifdef用于判断指定的宏是否已定义,#ifndef用于判断指定的宏是否未定义。例如:#ifdef DEBUG。
#if / #elif / #else:用于条件编译,根据指定的条件编译代码块。#if用于判断指定的条件是否为真,#elif用于判断前面的条件是否为假且指定的条件是否为真,#else用于在前面的条件都为假时执行代码块。例如:#if X > Y。
#pragma:用于向编译器发出特定的编译指令。例如:#pragma warning(disable:4996)。
2、C语言中如何读取和写入文件?
fopen:用于打开一个文件,并返回一个指向该文件的文件指针。它接受两个参数,第一个参数是文件名(包括路径),第二个参数是打开文件的模式(如"r"表示只读,"w"表示写入,"a"表示追加等)。
fclose:用于关闭一个文件,参数是一个指向要关闭的文件的文件指针。
fgetc / getc:用于从文件中读取一个字符,并返回该字符的ASCII码值。
fgets:用于从文件中读取一行字符串,并将其存储到一个字符数组中。
fputc / putc:用于将一个字符写入文件。
fputs:用于将一个字符串写入文件。
fprintf:用于将格式化的数据写入文件。
3、什么是动态内存分配?请给出一个动态内存分配的例子。
动态内存分配是在程序运行过程中,在需要时分配和释放内存空间的过程。与静态内存分配不同,动态内存分配允许在运行时根据需要动态分配内存,从而灵活地管理内存资源。
在C语言中,可以使用malloc、calloc和realloc等函数来进行动态内存分配。这些函数允许在堆上分配一块指定大小的内存,并返回一个指向该内存的指针。通过动态内存分配,可以在程序中创建动态数组、动态字符串和数据结构等。
#include <stdio.h>

本文介绍了C语言中的预处理指令如#include、#define、条件编译等,以及文件操作函数如fopen、fclose等,还涉及动态内存分配、错误和异常处理方法,以及宏定义的作用和使用场景。
最低0.47元/天 解锁文章
2810





