linux基本的概念-不带缓存(带缓存)、POSIX标准、ANSIC标准


①不带缓存的IO操作(不直接对磁盘文件进行读写操作)就是调用系统中的一个函数。主要是:open  read  write  lseek  close。它们是POSIX的组成函数。不带缓存IO操作都是基于文件描述符的(创建文件的时候返回的值)。

②带缓存的IO(标准IO)不依赖系统内核。移植性强,很多时候我们使用标准IO操作是为了减少对read和write系统调用的次数。

③字符串的长度就是字符的个数,字符串的大小就是字符串所占的内存空间的大小。

④strlen 和sizeof 函数的区别:len是长度的缩写,size是大小。sizeof 是运算符,strlen ()是函数。


char *str1="absde";

sizeof(str1)=8/4      //  sizeof(str1)不是字符串占的空间也不是字符数组占的空间,而是一个字符型指针占的空间。不同的编译器字符指针所占的内存空间不同。要么是4要么是8。

char str2[]="absde";

sizeof(str2)=6     //对于一个数组,返回这个数组占的总空间,所以sizeof(str2)取得的是字符串"absde"占的总空间。"absde"中,共有a b s d e \0六个字符,所以str2数组的长度是6,所以sizeof(str2)=6*sizeof(char)=6。

strlen不区分是数组还是指针,就读到\0为止返回长度。而且strlen是不把\0计入字符串的长度的。

详细的解释来自:

http://blog.csdn.net/21aspnet/article/details/1539951






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值