sizeof和逗号操作符
发表时间:2006-07-19 01:20:43 关键词:C++,MFC,VC,Primer,编程,教程,读书
(点击:) 把这篇文章告诉我的QQ或MSN朋友
把sizeof说成操作符可能有些不合习惯,因为sizeof的用法与函数没区别。但是sizeof与函数有着本质的区别:它是编译时常量。也就是说,在程序编译时,就会求出它的值,并且成为程序中的常量。
sizeof本身比较简单,惟一要提的就是它对数组名和指针进行操作的结果。
int a[10];
sizeof(a);
该操作返回的是数组所有元素在内存中的总长度。但是如果对指针进行操作,返回的则是指针本身的长度,与指针所指类型无关。
正因为数组名与指针有着千丝万缕的关系,所以有时候这个特性会让人摸不着头脑:
int function(int a[10])
{
sizeof(a);
...
}
以上sizeof返回的不是数组所有成员的大小,而是指针的大小,因为数组在参数传递中弱化为指针。
逗号操作符除了在for语句中应用以外,我没发现在哪儿还有用处。因为在一般情况下,逗号改成分号肯定是可以的,在for语句中因为分号的作用另有定义,所以不能随便改。这才有了逗号的用武之地。
本站特约顾问律师常州东晟律师事务所朱立律师(电话13915029670,QQ646146109)提醒您:
本站文章皆为作者原创,其它媒体(包括但不限于报刊、杂志、网站、电视、电台)未经作者书面许可严禁转载(或部分摘录)!
本站文章皆为作者原创,其它媒体(包括但不限于报刊、杂志、网站、电视、电台)未经作者书面许可严禁转载(或部分摘录)!
