sizeof和strlen的详细区别在该文中(http://www.vckbase.com/document/viewdoc/?id=1054)有详细介绍,不再赘述,很大程度上都是依赖于编译器的实现。
前者是一个operator,在编译时期确定;而后者是一个字符串函数,在运行时期确定。
因此sizeof(i++)之后,i是不改变原先的值的。
由于sizeof既可以用于变量也可以用于类型,不同于宏也不同于函数。
以下从国外网上搜到的一些自己实现的sizeof。
sizeof和strlen的详细区别在该文中(http://www.vckbase.com/document/viewdoc/?id=1054)有详细介绍,不再赘述,很大程度上都是依赖于编译器的实现。
前者是一个operator,在编译时期确定;而后者是一个字符串函数,在运行时期确定。
因此sizeof(i++)之后,i是不改变原先的值的。
由于sizeof既可以用于变量也可以用于类型,不同于宏也不同于函数。
以下从国外网上搜到的一些自己实现的sizeof。