随笔分类 - c和c++
摘要:前面我们讲解了指针数组、二维数组指针、函数指针等几种较为复杂的指针,它们的定义形式分别是: int*p1[6];//指针数组 int*(p2[6]);//指针数组,和上面的等价 int (*p3)[6];//二维数组指针 int (*p4)(int,int);//函数指针 我相信大部分初学者对上面几
阅读全文
摘要:C语言字符串指针(指向字符串的指针)详解 C语言中没有特定的字符串类型,我们通常是将字符串放在一个字符数组中,这在《C语言字符数组和字符串》中已经进行了详细讲解,这里不妨再来演示一下: #include <stdio.h> #include <string.h> int main(){ char s
阅读全文
摘要:C语言数组指针(指向数组的指针) 数组(Array)是一系列具有相同类型的数据的集合,每一份数据叫做一个数组元素(Element)。数组中的所有元素在内存中是连续排列的,整个数组占用的是一块内存。以int arr[] = { 99, 15, 100, 888, 252 };为例,该数组在内存中的分布
阅读全文
摘要:计算机中的地址 计算机中所有的数据都必须放在内存中,不同类型的数据占用的字节数不一样,例如 int 占用 4 个字节,char 占用 1 个字节。为了正确地访问这些数据,必须为每个字节都编上号码,就像门牌号、身份证号一样,每个字节的编号是唯一的,根据编号可以准确地找到某个字节。下图是 4G 内存中每
阅读全文
摘要:运算符 C 给我们提供了各种各样的运算符,我们可以用来操作数据。 特别地,我们可以识别不同分组的运算符: 算术运算符 比较运算符 逻辑运算符 复合赋值运算符 位运算符 指针运算符 结构运算符 混合运算符 在这一节中,我们将用两个假想的变量 a 和 b 举例,详细介绍所有这些运算符。 为了简单起见,我
阅读全文
摘要:C语言变量与类型 计算机要处理的数据(诸如数字、文字、符号、图形、音频、视频等)是以二进制的形式存放在内存中的; 我们将 8 个比特(Bit)称为一个字节(Byte),并将字节作为最小的可操作单元。 C 是一门静态类型语言。 这意味着任何变量都有一个相关联的类型,并且该类型在编译时是可知的。 这与
阅读全文
摘要:源文件 在开发软件的过程中,我们需要将编写好的代码(Code)保存到一个文件中,这样代码才不会丢失,才能够被编译器找到,才能最终变成可执行文件。这种用来保存代码的文件就叫做源文件(Source File)。每种编程语言的源文件都有特定的后缀,以方便被编译器识别,被程序员理解。源文件后缀大都根据编程语
阅读全文
摘要:fread函数的原型是:size_t fread(void * ch,size_t mode,size_t number,FILE *fp)。第一个参数是数组的地址;第二个参数是数据类型的大小;第三个参数是需要读取多少个这样的数据类型;第四个参数是文件指针。该函数正常情况下返回的值是number,这
阅读全文
摘要:很多学过C的人对malloc都不是很了解,知道使用malloc要加头文件,知道malloc是分配一块连续的内存,知道和free函数是一起用的。一部分人还是将:malloc当作系统所提供的或者是C的关键字,事实上:malloc只是C标准库中提供的一个普通函数 1,关于malloc以及相关的几个函数 #
阅读全文
摘要:在有些C语言程序中,我们会看到main函数有如下的写法: int main(int argc, char* argv[]); 或者是这样的: int main(int argc, char** argv); 给main传参通过argc和argv这两个参数来实现。执行程序时,可以从命令行传值给 C 程
阅读全文