zoukankan      html  css  js  c++  java
  • 野指针和内存操作实例

    1.#include <stdio.h>
    #include <malloc.h>

    void f(int* p, int size)
    {
        int i = 0;
        
        for(i=0; i<size; i++)
        {
            printf("%d ", p[i]);
        }
        
        free(p);
    }

    int main()
    {
        int* p = (int*)malloc(5 * sizeof(int));
        int i = 0;
        
        f(p, 5);
        
        for(i=0; i<5; i++)
        {
            p[i] = i; // OOPS!
        }
           
        return 0;
    }

    2.#include <stdio.h>
    #include <malloc.h>

    void f(int* p, int size)
    {
        int i = 0;
        
        for(i=0; i<size; i++)
        {
            p[i] = i;
            printf("%d ", p[i]);
        }
        
        free(p);
    }

    int main()
    {
        int* p = (int*)malloc(5 * sizeof(int));
        
        f(p, 5);
        
        free(p); // OOPS!
           
        return 0;
    }

    3.#include <stdio.h>
    #include <malloc.h>

    void f(unsigned int size)
    {
        int* p = (int*)malloc(size*sizeof(int));
        int i = 0;
        
        if( size % 2 != 0 )
        {
            return; // OOPS!
        }
        
        for(i=0; i<size; i++)
        {
            p[i] = i;
            printf("%d ", p[i]);
        }
        
        free(p);
    }

    int main()
    {
        f(9);
        f(10);
           
        return 0;
    }
    4.#include <stdio.h>

    void f(int a[10])
    {
        int i = 0;
        
        for(i=0; i<10; i++)
        {
            a[i] = i; // OOPS!
            printf("%d ", a[i]);
        }
    }

    int main()
    {
        int a[5];
        
        f(a);
           
        return 0;
    }


  • 相关阅读:
    【NOIP16提高组】换教室
    【扬中集训Day6T1】 白日梦
    【POJ 1061】 青蛙的约会
    【扬中集训DAY5T1】 交换矩阵
    【USACO】 Balanced Photo
    【USACO】 Balanced Lineup

    POJ P3352 Road Construction 解题报告
    洛谷 P2783 有机化学之神偶尔会做作弊 解题报告
    洛谷 P2300 合并神犇 解题报告
  • 原文地址:https://www.cnblogs.com/wxb20/p/6163260.html
Copyright © 2011-2022 走看看