指针初始化问题:
代码:
// point.cpp :malloc的初始化问题
//
/**
* 2019.03.20
* 记录malloc的初始化问题,在其它函数中初始化,和赋值
* By: 冬天D秘密
*/
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
void init(int *pp,int L); //目的:为p分配sizeof(int) * L 的空间
void print(int *p,int L); //输出p中的数据
int _tmain(int argc, _TCHAR* argv[])
{
int *p = NULL;
int L = 10;
init(p,L);
print(p,L);
return 0;
}
void init( int *pp,int L)
{
pp =(int*)malloc(sizeof(int) * L);
for (int i = 0;i < L;i++)
{
*(pp + i) = i + 1;
}
}
void print(int *p,int L)
{
while(L-- > 0){ //先对L进行处理
printf("%d",*(p + L));
}
}
上面执行的时候,当执行到print函数中时就会出现错误。
原因:执行过初始化函数后还是没有为主函数中的指针p分配空间,所以尝试pri