C语言常见问题

简介:         我最近看了一份文档,叫做《C语言常见问题》,感觉里面有很多知识很基础,但就是容易弄错!正所谓“不及跬步,无以致千里”,只有打好了基础才会有所突破。
        我最近看了一份文档,叫做《C语言常见问题》,感觉里面有很多知识很基础,但就是容易弄错!正所谓“不及跬步,无以致千里”,只有打好了基础才会有所突破。基础是水,没有它鱼儿活不了;基础是山,没有它树木长不了;基础是云,没有它大雨下不了。

 

    从这份文档中,我提取了比较重要的内容,在此与大家分享!

 

  1. C语言中,有一个“流”的概念;流可以分为两种类型:文本流(文件)和二进制流(文件);文本流是解释性的,最长可达255个字符;二进制流是非解释性的,一次处理一个字符。

  2. 在用C语言编程的时候,我们都是用#include指令包含类型为".h"的文件,那么可以用该指令包含类型不为".h"的文件吗?答案是:可以。我也是刚才看到这个的。

  3. C语言中,我们经常使用宏;那么编程的时候,是使用宏更好,还是使用函数更好?一般来说,应该用宏去替换小的、可重复的代码段,这样可以使得程序得运行速度更快;当任务比较复杂,需要多行代码才能实现时,或要求程序越小越好时,就应该使用函数。

  4. 串拷贝(strcpy)和内存拷贝(memcpy)有什么不同?strcpy()函数只能拷贝字符串,而memcpy()函数可以拷贝任意类型的数据。在C语言中,可以用itoa()函数将整数转换为字符串,用atoi()函数将字符串转换为整数。

  5. 在指针运算中,我们要区分“空指针”和“void指针”:空指针的值是NULL,它并不指向任何对象;而void指针一般被称为通用指针或泛指针,它指向某个对象,但该对象不属于任何类型。

  6. 在什么时候使用“空指针”?1)用空指针终止对递归数据结构的间接引用;2)用空指针作函数调用失败时的返回值;3)用空指针作警戒值;在什么时候使用void指针?当进行纯粹的内存操作时,或者传递一个指向未定类型的指针时,可以使用void指针。

  7. NULL总是被定义为0吗?NULL不是被定义为0,就是被定义为(void*)0,这两种值几乎是相同的;NULL总是等于0吗?如果指“与0比较的结果为相等”,那么确实是等于0;如果指“其存储方式和整型值0相同”,那么答案是“不”,NULL并不必须被存为一个整型值0

  8. 用指针作if语句的条件表达式意味着什么?当把一个指针作为条件表达式时,所要判断的条件实际上就是“该指针是否为一空指针”;两个指针是不能相加的。

  9. C语言中,用void关键字说明的函数是没有返回值的,并且也没有必要加入return语句;在有些情况下,一个函数可能会引起严重的错误,并且要求立即退出该函数,这时就应该加入一个return语句,以跳过函数体内还未执行的代码。

  10. exit()return有什么不同?用exit()函数可以退出程序并将控制权返回给操作系统,而用return语句可以从一个函数中返回并将控制权返回给调用该函数的函数。

  11. 数组的下标总是从0开始吗?是的;可以使用数组后面第一个元素的地址吗?可以使用数组后面第一个元素的地址,但不可以查看该地址中的值。

  12. array_name&array_name有什么不同?前者是指向数组中第一个元素的指针,后者是指向整个数组的指针。

  13. 为什么应该使用标准库函数而不使用自己编写函数?标准库函数有三点好处:准确性、高效性和可移植性。

  14. 什么是“局部环境(local)”?局部环境是对特定环境下程序要遵循的特定规则的一种描述,它对程序的国际化很有帮助。 

  15. 这些基础知识没有人告诉过你

目录
相关文章
|
C语言
c语言中的一些问题;(原谅我是个垃圾)
scanf函数 最近用到了c,很久之前学的,忘记了好多,只能是不会的就打开书看看继续写,感叹c就是有点烦 这个函数是有点烦的在输入的时候要规定数据的格式  c中输入数据的时候按照地址来存取的。
894 0
|
C语言 C++
答C语言初学者——有些问题可以放一放
【来信】   老师你好,我才接触C语言,现在对C语言很迷茫,自己上网查了一些资料也无头绪,现在想问老师几个问题。  1.C和C++到底有什么不同;  2.C++的教程能适用于C吗?  3.找不到一些比较好的入门的基础书籍和算术书籍,老师能否介绍一些。  希望老师能解除我的困惑,在这里先谢谢老师了。【我的回复】  可以看出你是一位很认真的同学。认真在战术上一定是重要的,请发扬下去;但在制定战略时
1411 0
|
3月前
|
C语言 C++
C语言 之 内存函数
C语言 之 内存函数
44 3
|
1月前
|
存储 C语言 开发者
【C语言】字符串操作函数详解
这些字符串操作函数在C语言中提供了强大的功能,帮助开发者有效地处理字符串数据。通过对每个函数的详细讲解、示例代码和表格说明,可以更好地理解如何使用这些函数进行各种字符串操作。如果在实际编程中遇到特定的字符串处理需求,可以参考这些函数和示例,灵活运用。
62 10
|
1月前
|
存储 程序员 C语言
【C语言】文件操作函数详解
C语言提供了一组标准库函数来处理文件操作,这些函数定义在 `<stdio.h>` 头文件中。文件操作包括文件的打开、读写、关闭以及文件属性的查询等。以下是常用文件操作函数的详细讲解,包括函数原型、参数说明、返回值说明、示例代码和表格汇总。
51 9
|
1月前
|
存储 Unix Serverless
【C语言】常用函数汇总表
本文总结了C语言中常用的函数,涵盖输入/输出、字符串操作、内存管理、数学运算、时间处理、文件操作及布尔类型等多个方面。每类函数均以表格形式列出其功能和使用示例,便于快速查阅和学习。通过综合示例代码,展示了这些函数的实际应用,帮助读者更好地理解和掌握C语言的基本功能和标准库函数的使用方法。感谢阅读,希望对你有所帮助!
41 8
|
1月前
|
C语言 开发者
【C语言】数学函数详解
在C语言中,数学函数是由标准库 `math.h` 提供的。使用这些函数时,需要包含 `#include <math.h>` 头文件。以下是一些常用的数学函数的详细讲解,包括函数原型、参数说明、返回值说明以及示例代码和表格汇总。
50 6
|
1月前
|
存储 C语言
【C语言】输入/输出函数详解
在C语言中,输入/输出操作是通过标准库函数来实现的。这些函数分为两类:标准输入输出函数和文件输入输出函数。
245 6
|
1月前
|
存储 缓存 算法
【C语言】内存管理函数详细讲解
在C语言编程中,内存管理是至关重要的。动态内存分配函数允许程序在运行时请求和释放内存,这对于处理不确定大小的数据结构至关重要。以下是C语言内存管理函数的详细讲解,包括每个函数的功能、标准格式、示例代码、代码解释及其输出。
64 6
|
1月前
|
C语言 开发者
【C语言】断言函数 -《深入解析C语言调试利器 !》
断言(assert)是一种调试工具,用于在程序运行时检查某些条件是否成立。如果条件不成立,断言会触发错误,并通常会终止程序的执行。断言有助于在开发和测试阶段捕捉逻辑错误。
41 5