c语言指针中编写函数返回结果字符串的首地址,那返回的是字符串还是首地址的值
3个回答
展开全部
返回的是地址,这个地址可按照你给定的类型去寻址
比如一个简单的例子:
char* pre(char* a) //一个修改传入字符串首字符为0的函数
{
a[0]='0';
return a; //返回修改后的首地址,直接返回a,此时返回的a指针指向的地址与main函数中s指向同一个地址。也就是void* f指向的地址与s数组的地址相同。
}
int main(int argc, char *argv[])
{
char s[20]={"\0"};
scanf("%s",s);
void* f=pre(s); //定义一个泛型指针(该指针可指向任何类型)
// printf("\n%c",((int*)f)[0]);//以int指针类型访问
// printf("\n%s",(char*)f); //以char指针类型访问
printf("\n%c",((char*)f)[0];//以char指针类型
return 0;
}
展开全部
返回的是首地址的值,之歌地址指向了这个字符串
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
返回的是地址,不过可以在定义把字符串显示出来。
追答
例如int a[10];return a;返回的是a数组的首地址,也就是a[0]的地址,也就是&a[0].
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询