c语言返回一个指针
为何函数不能返回值?
如若不一致,则自动将返回值强制转换为函数首部定义的类型。没有定义类型时默认为int型。也就是说你的函数是什么类型,返回值就是什么类型。比如:函数定义 int fun(int a,char b)返回值就是整型 函数定义 int *fun(int a)返回值就是基类型为整型的指针 函数定义 void fun(int a)无返回值 ...
C语言如何让一个函数返回多个值
02 使用数组名或指针作为函数的形参 被调函数的行参是一个指针,然后在被调函数中返回第一个值,被调函数改变指针参数指向的值,这样主调函数相应的值就改变了,也就相当于返回了第二个值了。这样就可以实现返回多个值!03 结构体指针返回 结构体是C语言涉及数据结构的最直接的容器,通常...
C语言如何返回字符串
{ static char str[100]; \/\/ 局部变量,静态局部变量,它在第一次调用的时候分配,cin >> str; \/\/ 函数返回了,str的空间还是存在的,也就是不会重复申请、return str; \/\/ 而且,函数外面通过,指针也是可以访问他们的、、} 而 char* fanhui(){ char str[100]; \/\/ 局部变量...
C++中,编写函数,输入一个整数,利用指针返回该数的绝对值。
include <stdio.h> int mabs(int a, int *p){ if(!p)return -1;if(a>0)*p=a;else *p=-a;return 0;} int main(){ int a, b;scanf("%d", &a);mabs(a, &b);printf("%d\\n", b);return 0;} C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据...
什么是C语言的指针,能不能举例说明一下啊?大侠帮帮忙!!
以后,我们说一个指针的值是XX,就相当于说该指针指向了以XX为首地址的一片内存区域;我们说一个指针指向了某块内存区域,就相当于说该指针的值是这块内存区域的首地址。 指针所指向的内存区和指针所指向的类型是两个完全不同的概念。在例一中,指针所指向的类型已经有了,但由于指针还未初始化,所以它所指向的...
c语言中如何一个函数的多次调用
举报| 答案纠错 | 评论 1 18 tattackor 采纳率:72% 来自团队:百度与你同在 擅长: 编程语言 理工学科 其他编程语言 电脑\/网络 教育\/科学 其他回答 返回 指针吧,一个函数只能有一个返回值。指针可以返回多个。void aaa(){ int *a,*c; int a,c; *a=a;*c=c; a=b();c=b();}下面调用 *a...
c语言中的strcat是什么意思啊?
1、strcat是用来拼接字符串的,它会将参数 src 字符串复制到参数 dest 所指的字符串尾部。具体用法首先用vs2017新建一个c语言的程序文件,引入头文件,引入strcat函数所在的包“string.h”,最后设置一个主函数:2、接着用str函数复制一段话,首先定义一个80位的char类型变量,接着用strcat函数拼接成...
用C语言写了一个输入一个一维数组的函数,如何在后来写的函数中调用该...
在C语言中,无法直接返回一个数组,但是可以通过返回对应类型指针的方式,返回数组。在大多数情况下,一维数组和一维指针是可以通用的。比如,定义一个函数,申请一定长度的整型动态数组,其长度用参数传入,并将结果返回。如出错,返回空指针NULL。代码可以写成如下形式:int*int_array_create(int n)\/\/...
c语言如何定义一个函数可以返回多个值回去给主函数呀。
函数的返回值顶多是一个数,通过函数直接返回的这个数只有在是指针时才能给出多个数据结果。可以考虑以下几个方法:返回指针:int* display() { int *p; p=malloc(sizeof(int)*6); ... return p; } \/\/用p[0]~p[5]计算各位 void main() { int *p; p=display(); ... free(p); }...
c语言指针中编写函数返回结果字符串的首地址,那返回的是字符串还是首...
返回的是地址,这个地址可按照你给定的类型去寻址 比如一个简单的例子:char* pre(char* a) \/\/一个修改传入字符串首字符为0的函数{ a[0]='0';return a; \/\/返回修改后的首地址,直接返回a,此时返回的a指针指向的地址与main函数中s指向同一个地址。也就是void* f指向的地址与s数组...
祥云县海伦回答: 首先,你不应该返回局部变量的指针,因为局部变量在离开函数后就会被销毁.如果你想这样返回一个数组的话,你应该malloc出一个数组来返回. 至于应该return什么,return (malloc出来的那个指针)就可以了. 例如 int** foo() { int **p = (int **)malloc(sizeof(int *)*10); ... ... ... return p; } 这个p指向一个内存段,这个内存段存有十个int*类型的元素.
邴怀13574025447问: C语言如何声明一个返回函数指针的函数? - ?
祥云县海伦回答: C语言指向函数的指针承载的信息比较复杂,组织起来要素要写全.根据指向函数的指针的书写语法,下面的代码就是一个返回函数指针的函数: int (*f(void))(int){//f是函数,没有参数,返回指向一个函数的指针;这个被指向的函数有一个int型形...
邴怀13574025447问: c语言 函数返回数组指针? - ?
祥云县海伦回答: 由于你在子函数int *shuzu(void)中定义的数组 a[4];属于局部变量,在子函数结束时会被释放,所以返回的指针变成野指针,会乱码;简单的解决方法有两种,1. 将数组定义在主函数之前(#include 下面),那么就变成了全局变量,不会被释放了;2.使用malloc或者calloc开空间后再赋给这个数组,这样也不会被释放了;第一种方法有缺点,以后学到全局变量的时候会知道,第二种方法估计你还没学到,不过很简单,百度一下就会了~~~
邴怀13574025447问: C语言 返回指针的函数 问题 - ?
祥云县海伦回答: 返回指针 要看这个局部指针变量在函数运行后 保存了哪个空间的地址了 指针里的值是可以返回的 就像你说的 “ return i,主调函数知道一个i就可以了 ” 同样主函数 知道一个指针里的地址就可以了. 但是这个地址入口的空间现在可用否,那要看具体情况了 1 此地址所指向的空间 是个局部变量 也就是存在栈区,那么在申请次局部变量的函数结束时,局部变量被释放,用户没有使用他的权限了 出错 2 此地址所指向的空间 不是局部变量,比如是个静态变量 全局变量 或者是malloc申请的存在堆中的,那么他就不是你随着函数的离去二离去了,他任然存在,结果可用 正确
邴怀13574025447问: C语言中,怎样定义函数可以让函数返回一个指针数组? - ?
祥云县海伦回答: 返回它的地址不就行了么,指针数组的首地址就可以了 比如 有一个指针数组 char *p[10] = {这里面放的都是指针},那么p的类型就是char **类型 你定义一个函数,返回char **类型就行了 比如 char **fun() {char **s;returns; }
邴怀13574025447问: c语言的函数如何返回指针(请举例) - ?
祥云县海伦回答: char* foo() {char* sz="abc";return sz; }
邴怀13574025447问: C语言中的函数指针 - ?
祥云县海伦回答: 函数指针是定义一个指向函数的指针,形式为:void (*p)(void); 一般用法:int fun1(int x); int fun2(int x); char fun3(int x); int fun4(char x); int main(void) { int (*p)(int x);p=fun1; //指向fun1 p(2) //这时等价于fun1(2) p=fun2; //也可以指向fun2 . .但...
邴怀13574025447问: C语言中,定义一个函数时,要返回的是指针,该怎样表达呢?谢谢 - ?
祥云县海伦回答: 你把返回值写成指针型就可以了,具体得看你参数是怎样的,还有返回值是什么类型的指针:比如:int * scar(int ) 这个函数参数是一个整型,返回值是个整型指针.类比你可以写出来其他类型的函数
邴怀13574025447问: 怎样在C语言中用函数返回一个数的地址呢? - ?
祥云县海伦回答: 首先函数返回一个指针类型即返回地址. 例: int * func(void) { int a= 10; int *p = &a; return p; }
邴怀13574025447问: C语言中.一个指针子函数返回值是地址还是地址中得内存内容.. - ?
祥云县海伦回答: 这个函数的意思是:函数返回一个指针,函数形参是一个指针变量,所以既然是返回指针,return b 就行了,函数输入的是一个地址,但是对其操作是程序会自动提取它指向的内容进行操作!