函数返回一个普通指针和数组指针有什么区别呢?

各位老哥,请问下,当想返回一个一维数组的时候,类似intarr[10]。好像可以有两个办法,一个是int*funcRetArr()或者是int(*funcRetArr())[10]。
下面两个方法,返回后都可以取到数组的内容,那他们有什么区别吗?
int*funcRetArr1(){
int*arr=NULL;
arr=(int*)malloc(10*sizeof(int));
if(arr==NULL){
exit(1);
}
for(inti=0;i<10;i++){
arr[i]=i+1;
}
returnarr;
}
int(*funcRetArr2())[10]{
int(*arr)[10];
arr=malloc(10*sizeof(int));
if(arr==NULL){
exit(1);
}
for(inti=0;i<10;i++){
(*arr)[i]=i+2;
}
returnarr;
}
白猪掌柜的
浏览 284回答 2
2回答

饮歌长啸

你自己已经说了,一个是普通指针(指向int),一个是数组指针(指向int[10]),不一样的呀。你是怎么让它们“都可以取到数组的内容”的?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript