我学指针的时候发现,64位编译会出現如下情况(当时百思不得其解,通过百度问大佬总结以下几点):
2、sizeof的值操作符能够得到一个结构的整体长度,包括因边界对齐而跳过的那些字节
sizeof的值 是操作符,而 strlen 是库函数sizeof的值 的参数可以是数据的类型,也可以是变量而 strlen 只能以结尾为 \0 的字符串作为参数;
编译器在编译时就计算出了 sizeof的值 的结果。而 strlen 函数必须在运行时才能计算出来并且 sizeof的值 计算的是数据类型占内存的大小,而 strlen 计算的是字符串实際的长度