【发布时间】:2014-01-12 14:27:15
【问题描述】:
我浏览过以前回答的有关指针和矩阵的问题,但在这些情况下,矩阵被视为指向指针的指针。但是,我正在尝试创建一个函数,该函数使用一个简单的指针和另一个打印矩阵的函数来读取矩阵。 这是我的代码,读取功能似乎工作正常,但程序在打印部分崩溃。如果我从 printf 语句中删除“*”,程序就可以工作(即它打印从 4 到 4 的数字——我想这没问题,因为 int 存储在 4 个字节上)。
void readm(int *p,int n)
{
p=(int *)malloc(sizeof(int)*n*n);
for(int i=0;i<n*n;i++)
scanf("%d",p+i);
}
void printm(int *p,int n)
{
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
printf("%d ",*(p+(i*n)+j));
printf("\n");
}
}
【问题讨论】:
-
最好将其标记为 C。
-
程序崩溃是什么意思?
SEGFAULT?您能否也包含使用这些函数的代码?