关于C语言中new字符问题
#include<stdio.h>intmain(){intscore[][4]={{59,60,78,23},{78,65,63,54},{89,83,88,90}};...
#include<stdio.h>
int main ()
{
int score[][4]={{59,60,78,23},{78,65,63,54},{89,83,88,90}};
int * seach(int(*pi)[4]);
int * p;
int i,j;
for(i=0;i<3;i++)
{
p=seach(score+i);
if(p==*(score+i))
{
printf("--------\n");
for(j=0;j<4;j++)
{
printf("%d ",*(p+j));
}
printf("\n");
}
}
return 0;
}
int * seach(int(*pi)[4])
{
int i=0;
int *pt;
pt=NULL;
for(;i<4;i++)
{
if(*(* pi+i)<60)
pt=*pi;
}
return (pt);
}
"int *pt;"这个是不是要写成"int *pt=new int;"
int *pt这个应该是局部指针变量我看书上说要用到new操作符来分配个持久空间。可在未使用new字符之前编译器并未报错或者出现乱码。 向高手请教······ 展开
int main ()
{
int score[][4]={{59,60,78,23},{78,65,63,54},{89,83,88,90}};
int * seach(int(*pi)[4]);
int * p;
int i,j;
for(i=0;i<3;i++)
{
p=seach(score+i);
if(p==*(score+i))
{
printf("--------\n");
for(j=0;j<4;j++)
{
printf("%d ",*(p+j));
}
printf("\n");
}
}
return 0;
}
int * seach(int(*pi)[4])
{
int i=0;
int *pt;
pt=NULL;
for(;i<4;i++)
{
if(*(* pi+i)<60)
pt=*pi;
}
return (pt);
}
"int *pt;"这个是不是要写成"int *pt=new int;"
int *pt这个应该是局部指针变量我看书上说要用到new操作符来分配个持久空间。可在未使用new字符之前编译器并未报错或者出现乱码。 向高手请教······ 展开
2个回答
展开全部
不用,只要在操作*pt前给pt赋值即让pt指向一个合法的地址就好了
指针的关键是要让他指向的空间是有意义的,
指针的关键是要让他指向的空间是有意义的,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询