我一直在做一个解决微分方程的项目,并且当我被告知在C ++上制作它时,我在C ++上做了一个工作 我使用了功能" new"创建动态数组并需要将其更改为malloc,所以我做了:))
但我随机收到错误255和-1073741819
你能帮我找一下代码中的错误吗?
double **k=(double **)malloc(7 *sizeof(double*));
for(i=0; i<7; i++) k[i]=(double *)malloc(4 *sizeof(double));
double **b=(double **)malloc(7 *sizeof(double*));
for(i=0; i<7; i++) b[i]=(double *)malloc(6 *sizeof(double));
double *mn=(double *)malloc(7 *sizeof(double));
double *yy1=(double *)malloc(4 * sizeof(double));
double *yy2=(double *)malloc(4 * sizeof(double));
int *go;
go=1;
我无法理解我是否错误地使用了malloc?
感谢您的回复!
答案 0 :(得分:0)
正如他们在评论中指出的那样,你不能直接将一个int值设置为指针,因为这会导致分段错误。
正确的方法是:
int * go;
int temp = 1;
go = &temp;
现在go
指向temp
的内存地址,因此*go
的值为1
。