C
文章平均质量分 52
走出去拍拍照
这个作者很懒,什么都没留下…
展开
-
fopen/open、fwrite/write、fwrite/write的区别
open:系统调用,返回的是文件描述符,即文件句柄,是文件在文件描述副表里的索引。fopen:C语言库函数,返回的是一个指向文件结构的指针。fopen是ANSI C标准中的C语言库函数,在不同的操作系统中应该调用不同的内核API,UNIX环境下,fopen是对open的封装。文件描述符是UNIX/Linux下的一个概念,Linux环境下,一切设备皆是文件,一切设备皆是以文件的形式进行操原创 2018-01-04 20:11:01 · 692 阅读 · 0 评论 -
strlen与sizeof的区别
strlen()与sizeof()函数都是用来求字符串长度的函数,但是两者之间还是有明显的区别的。测试程序如下。 对于我们给定的输入项,strlen()函数是不将结束符”\n”计入的,而sizeof()函数是算整个字符串的长度。也就是说strlen()函数在”\n”之前结束计数。...原创 2018-08-31 11:41:11 · 160 阅读 · 0 评论 -
C语言中数据长度解析
在《C语言深度剖析》一书中看到下面这个问题,正好趁此机会,把这个数据类型的长度问题理清一下。下面的这段程序会输出什么值?#include<stdio.h>int main(){ char a[1000]; int i; for(i = 0; i < 1000; i++){ a[i] = -1 - i; } printf("strlen(a) = %d\n"...原创 2018-09-20 19:32:53 · 1965 阅读 · 0 评论 -
关于static与register关键字
本文章的大部分内容出自《C语言深度剖析》一书,再此只是记录对他书中例子的分析并加上一些个人的理解。对于static关键字,书中对其做了重点讲解,其实在我们学习C++或者Java的时候,也会对其有比较长篇幅的论述。在C语言中,它就是用来修饰变量和函数。而变量又会分为全局变量和局部变量。如下面的示例程序所示,其中j就是静态全局变量,i就是静态全局变量。它们都会存在内存的静态区。对于静态全局变量...原创 2018-09-20 19:35:34 · 1079 阅读 · 0 评论 -
C语言中数组与指针的区别
本文是对《C语言深度剖析》一书内容的拓展,在看这本书的时候解了很多我之前的一些困惑,故在此记录。对数组的引用总是可以写成对指针的引用,而且确实存在一种指针和数组的定义完全相同的上下文环境。但是指针和数组还是在本质上是不一样的。指针就是指针,指针变量在32位的系统下面是4Byte,而在64位系统下面是8Byte,其值为某一个内存的地址。而数组就是数组,其大小与元素的类型和个数有关,定义数组时必须...原创 2018-09-20 19:38:49 · 9213 阅读 · 1 评论 -
指针常量和常量指针的区别
指针常量:即指针本身的值是不可改变的,而指针指向的变量的值是可以改变的;常量指针:即指针指向的变量的值是不可改变的,而指针本身的值是可以改变的;因为指针本身也是一个变量,只不过指针存放的是地址而已,而一旦指针变成了常量,即指针本身的值是不可变的,此时指针只能指向固定的存储单元;指针一般会指向一个变量,如果该变量成为一个常量,那么该变量的值就不能被修改,即常量指针,指针指向的是一个不可变...原创 2018-09-20 19:47:10 · 2444 阅读 · 0 评论