zoukankan      html  css  js  c++  java
  • memset的实验

     

    关于memset的实验

      实验一:memset对char数组赋初值

    #include<iostream>
    using namespace std;
    int main()
    {
        char a[110];
        memset(a,'1',sizeof(a));
        for(int i=0;i<110;i++)
        cout<<a[i];//输出一堆1
        return 0;
    }
    

      

      

      例:memset(a,1,sizeof(a))

      结果:直接输出对应的ASCII表

        输出一堆笑脸☺what?

      结论:char数组中,可以用memset任意赋初值

      


     实验二:memset对int类型数组赋初值

    #include<iostream>
    using namespace std;
    int main()
    {
        int a[110];
        memset(a,-1,sizeof(a));
        for(int i=0;i<110;i++)
        cout<<a[i];//输出一堆-1
        return 0;
    }
    

      

      例:memset(a,0,sizeof(a))

      输出一堆0

      错误的情况:

      例:memset(a,1,sizeof(a))

          输出一堆乱七八糟的数

      经多次实验,只有0和-1可以给int数组赋初值;

      结论:在int数组中,memset只能用来赋值0和-1


     实验三:对结构体用memset初始化

    #include<iostream>
    using namespace std;
    struct a
    {
        int a;
        char b;
    }a[110];
    int main()
    {
        memset(a,'1',sizeof(a));
        for(int i=0;i<110;i++)
        cout<<a[i].a;//输出乱七八糟的数字
        for(int i=0;i<110;i++)
        cout<<a[i].b;//输出1
        return 0;
    }
    

      

      例:如上

      实验结论:memset对结构体的初始化相当于分别对结构体内部的各个成分进行初始化,错误与否与结构体内的变量类型有关;

      实验四:对bool数组用memset初始化

      

    #include<iostream>
    using namespace std;
    int main()
    {
        bool a[110];
        memset(a,1,sizeof(a));
        for(int i=0;i<110;i++)
        cout<<a[i];
        return 0;
    }
    

      

      样例:如上

      经多次实验,bool类型用memset初值赋为正数时可行,负数时不可行

      结论:memset对bool类型赋初值只能赋值为正数

      附:memset的头文件为<cstring>!!!!!

     

  • 相关阅读:
    HackerRank "Minimum Average Waiting Time" !
    HackerRank "Components in a graph"
    LeetCode "Range Sum Query
    LeetCode "Additive Number"
    LintCode "Post Office Problem" !!!
    LintCode "Longest Increasing Continuous subsequence II" !!
    LintCode "Coins in a Line III" !!
    LeetCode "Range Sum Query 2D
    LeetCode "Smallest Rectangle Enclosing Black Pixels"
    LintCode "Coins in a Line II" !
  • 原文地址:https://www.cnblogs.com/pirote-zjy/p/7717533.html
Copyright © 2011-2022 走看看