C++ snapshot 1

1.栈中内存问题,函数返回一个指针,这个指针不能是函数内部的变量,会被NULL掉,今天突然忘了这个,所以写一下,引以为戒。

#include <QCoreApplication>
#include <qDebug>

double add(double a,double b)
{
    return a+b;
}
double (*p[3])(double,double);
double* cacl(double *a)
{
    for(int i = 0; i < 3 ; i++)
    {
        p[i] = add;
        a[i] = p[i](double(rand()),double(rand()));
    }
    return a;
}

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    double ap[3];
    double *ab;
    ab = cacl(ap);
    for(int i = 0; i < 3 ; i++)
    {
        qDebug()<<"i:"<<(ab[i]);
    }
    return a.exec();
}
View Code
原文地址:https://www.cnblogs.com/CGAlpha/p/7944541.html