/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 *
 * @param str string字符串
 * @return bool布尔型
 */
#include <stdbool.h>
#include <stddef.h>
bool fun(char* str ) {
    // write code here
    /*size_t 是一些C/C++标准在stddef.h中定义的,size_t 类型表示C中任何对象所能达到的最大长度,它是无符号整数。
    它是为了方便系统之间的移植而定义的,不同的系统上,定义size_t 可能不一样。size_t在32位系统上定义为 unsigned int,也就是32位无符号整型。在64位系统上定义为 unsigned long ,也就是64位无符号整形。size_t 的目的是提供一种可移植的方法来声明与系统中可寻址的内存区域一致的长度。*/
    bool StrFlag;
    size_t str_size = sizeof(str);
    size_t str_strlen = strlen(str);   
    if(str_size == str_strlen)
    {
        StrFlag=true;
    }
    else
    {
        StrFlag=false;
    }
    return StrFlag;
}
关于size_t关键词可以参考这篇文章:https://blog.csdn.net/fuxiaoxiaoyue/article/details/82747
关于sizeof()函数和strlen()函数的主要区别是:
sizeof在计算字符串的空间大小时,包含了结束符\0的位置,它是个单目运算符;
strlen()函数是一个计算字符串长度的函数,使用时需要引用头文件#include <string.h>,不包含\0,即计算\0之前的字符串长度。

 京公网安备 11010502036488号
京公网安备 11010502036488号