循环中 数组不初始化,会不会内存泄露?解决方案

循环中 数组不初始化,会不会内存泄露?
比如 

while (true)
{
    BYTE pData[10];
    SendData(pData);
}

上面这样跟下面初始化,有什么区别?

while (true)
{
    BYTE pData[10] = {0,0};
    SendData(pData);
}




第一种方式会出现内存泄漏吗?
------解决思路----------------------
不会内存泄露,你的代码没有malloc、没有new,没有在堆上分配内存,自然不存在泄露问题。
内存泄露一般是指new了没有delete,malloc了没有free。
初始化和不初始化的区别是:
初始化:
int n = 0;
不初始化:
int n;
区别就是不初始化的话,n的值是未知的、随机的。
------解决思路----------------------
你没有动态分配,大部分都在堆栈区,会在适当的时候自动释放的。比如你这里的两个{},当遇到}的时候,pData就出了作用域,系统适当的会回收的
------解决思路----------------------
是否初始化和内存泄露没有关系
------解决思路----------------------
不初始化不是个好习惯
------解决思路----------------------
不会内存泄漏,但会导致值未知
------解决思路----------------------
不会!只是结果未知
------解决思路----------------------
不会内存泄露,因为你没有动态分配,两种方法的不同就是,第一种发送过去的都是不确定的值,第二种发送过去只有前两个是初始化的值,后面的都不确定。
------解决思路----------------------
看看SendData函数里面是啥玩意

内存泄漏,就是申请了堆上的空间,而没有释放,就会造成泄漏

用栈上的内存,有啥泄漏的?!!?
------解决思路----------------------
栈上分配的没有问题~
------解决思路----------------------
没操作堆,没泄露
------解决思路----------------------
你不是new出来的,而是在栈内存中开辟的空间,函数执行完了之后栈会自动回收的,就不会存在内存泄露

两个唯一的区别是第一种不初始化内存中的内容是不可预期的,是乱码!