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;
    }


  • 相关阅读:
    Git with SVN 协同设定
    Apache+Django+mod_wsgi安装目录
    ROR study
    PHP框架
    Gerrit 配置
    Garmin、任我游品牌自制等高线方法比较
    使用python发送outlook约会提醒邮件
    Apache部署多个django site project
    Aptana Studio 3安装(Windows)
    The Art of Readable Code
  • 原文地址:https://www.cnblogs.com/wxb20/p/6163260.html
Copyright © 2011-2022 走看看