例如,下面代码中,strlen(指针)和sizeof(指针),含义是不同的:
#include<stdio.h>#include<string.h>intmain(){charbuf[100]="hello";printf("strlen((char *)buf) = %zu\n",strlen((char*)buf));printf("sizeof((char *)buf) = %zu\n",sizeof((char*)buf));return0;}运行输出:
总结如下:
strlen((char*)buf):求的是字符串的有效长度。sizeof((char*)buf):求的是指针本身的大小,不是数组的大小。