操作系统
-
fread和fwrite函数,C语言fread和fwrite函数详解
对文件格式化读写函数 fprintf 与 fscanf 而言,尽管它可以从磁盘文件中读写任何类型的文件,即读写的文件类型可以是文本文件、二进制文件,也可以是其他形式的文件。但是,对…
-
gets和fgets函数及其区别,C语言gets和fgets函数详解
每当讨论 gets 函数时,大家不由自主地就会想起 1988 年的“互联网蠕虫”,它在 UNIX 操作系统的 finger 后台程序中使用一个 gets 调…
-
C语言main()函数
C 语言有两种可能的运行环境中,它们之间有一定差别: (1) 独立环境(freestanding) 在独立环境中,C 程序的运行没有操作系统的…
-
C++二进制文件的读取和写入(精华版)
我们先来说一下为什么要使用二进制文件,它比文本文件有哪些好处。 用文本方式存储信息不但浪费空间,而且不便于检索。例如,一个学籍管理程序需要记录所有学生的学号、姓名、年龄信息,并且能…
-
C++基类和派生类指针的相互赋值和转换
在公有派生的情况下,派生类的指针可以直接赋值给基类指针。但即便基类指针指向的是一个派生类的对象,也不能通过基类指针访问基类没有而派生类中有的成员。 基类的指针不能赋值给派生类的指针…
-
结构体字节对齐,C语言结构体字节对齐详解
问大家一个问题: struct STUDENT { char a; int b; }data; 如上结构体变量 data 占多少字节?char 占 1 字节,int 占 4 字节,…
-
动态内存分配,C语言动态内存分配详解
动态内存是相对静态内存而言的。所谓动态和静态就是指内存的分配方式。动态内存是指在堆上分配的内存,而静态内存是指在栈上分配的内存。 前面所写的程序大多数都是在栈上分配的,比如局部变量…
-
指针变量的初始化,C语言指针变量初始化详解
本节来解决如何给一个指针变量初始化。即怎样使一个指针变量指向另一个变量。 前面章节中的某些程序实际上已经使用了,即可以用赋值语句使一个指针变量得到另一个变量的地址,从而使它指向该变…
-
C++ new和delete(C++动态分配和释放内存)
数组的长度是预先定义好的,在整个程序中固定不变。C++ 不允许定义元素个数不确定的数组。例如: int n; int a[n]; //这种定义是不允许的 但是在实际的编程中,往往会…
-
数组名作为函数参数传递,C语言数组作为函数参数传递详解
本节开始,先问大家一个问题:“要确定一个一维数组需要知道哪些信息?”一个是数组的首地址,另一个是数组的长度。这样就可以唯一地确定一个一维数组。因为数组是连续…