• C语言 两个小知识点


    strlen 函数原型

    extern unsigned int strlen(char *s);
    Visual C++ 6.0中,原型为size_t strlen(const char *string); ,其中size_t实际上是unsigned int,在VC6.0中可以看到这样的代码:typedef unsigned int size_t; 。
    头文件:string.h
    格式:strlen (字符数组名)
    功能:计算给定字符串的(unsigned int型)长度,不包括''在内
    说明:返回s的长度,不包括结束符NULL。
    举例:
    //char*s="Gold";
    char s[100]="Gold";
    printf("%s has %d chars",s,strlen(s));

    结果:两者的结果都一样。

    那如何测试字节数组的大小呢?结论是无法使用strlen函数,只能通过间接的办法求:

    #include <stdio.h>
    #include<stdlib.h>
    #include<string.h>
    
    int main()
    {   
        unsigned char sendStr[32] ={128,154,178,201,221,237,248,255,255,252,243,229,211,190,166,141,
                            115,90,66,45,27,13,4,1,1,8,19,35,55,78,102,128}; //默认发送串1(实际为0),1,8
        
         printf("数字:   %d  
    ",sizeof(sendStr)/sizeof(unsigned char));
     
        return 0;
    }

    通过总的字节数除以单个元素的大小进行求解。


    unsigned char 数字范围为 0-255;如果赋值一个数为256,那么数据溢出,显示结果为0

  • 相关阅读:
    第九次任务
    第八次任务
    第七次任务
    第六次任务
    第四天半任务
    第四天任务
    第三天任务
    第二天任务
    第一天任务
    第⑩天任务
  • 原文地址:https://www.cnblogs.com/shuqingstudy/p/7123734.html
Copyright © 2020-2023  润新知