C语言错误使用sizeof操作符

错误使用sizeof操作符的一个例子是试图检查指针边界但方法错误。下例为整数数组分配内存,然后把每个元素初始化为0:

int buffer[20];
int *pbuffer = buffer;
for(int i=0; i<sizeof(buffer); i++) {
    *(pbuffer++) = 0;
}

不过,sizeof(buffer)表达式返回了80,因为缓冲区长度以字节计是80(20乘以4字节每元素)。for循环执行了80次而不是20次,这很可能会导致内存访问异常,从而终止应用程序。可以在for表达式的测试条件中用sizeof(buffer)/sizeof(int)来避免这个问题。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程