c语言在函数中修改指针

作者&投稿:杜思 (若有异议请与网页底部的电邮联系)

C语言怎么在调用函数中修改main函数中的值
void x(int &x)\/\/注意这里有取地址符号,是地址传递{x = x-1;}\/\/然后main中调用int main(){int i=10;x(i);\/\/\/此时i成功减一}

c语言,在函数中创建的指针,在其他函数中能直接调用吗
能啊,在参数里调用指针其实只是用的只是地址,下面的程序就是调用数组a的首地址。int reform(int *q,int n){...} main(){ int a[10],*p;p=a;reform(p,10);}

C语言在调用函数中的数据的改变是否影响主函数的数据。
如果主函数里调用的子函数,你的形参死一个变量的话,那么子函数在对这个变量的值进行操作,是不会对主函数的那个数据造成影响;但如果你的形参是一个指针变量的话,指针指向的是一个地址的值,就如你的主函数里调用的子函数,你这个子函数里面的形参就是一个指针变量,那么你的实参是b.name,是一...

C语言中,调用函数时,实参在函数里改变了值,那在主函数里是原来的值...
INT是值类型 变量存储的是真实的值 传参时在目标函数内再用一段内存把值复制过去,改的只是change函数里的变量a main函数里的没变 指针是引用类型 变量存储的只是一个内存地址 传过去的也是内存地址,修改的是根据那个地址 找到的真实值

在c语言中,函数掉用,指针做参数,在函数体内对形参的数据改变会影响到实...
会的,因为多个指针可以指向一个地址,形参改变地址中的内容,实参也会改变,因为调用时你将形参的地址指向实参了。

写一个函数修改数组中的数据,在主函数中调用它。(C语言)?
\/\/ 用于修改数组的函数 int change_array(int *num, int count){ int i,t;for(i = 0; i < count; i++){ t = num[i];num[i] = t + 1;} } int main(){ int i, b[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };\/\/ 调用函数 change_array(b, 10);\/\/ 输出...

C语言如何把主函数中输入的值在被调函数中使用
一般是不能直接用的,你在被调函数传一个参数 void XXXX(参数),然后不就可以用了

c语言在调用函数中改变数组,原数组改变吗
C语言不会复制整个数组,它会要求传入数组名(一个指向数组首地址的const指针),函数中对整数的改变其实就是对实际数组的改变!

C语言中什么函数可以修改文件内容(可以随意删除原内容的一部分...
1. 函数原型int fputc(int ch,FILE *fp)2. 功能说明 把ch中的字符写入由fp指出的文件中去。3. 参数说明 ch:是一个整型变量,内存要写到文件中的字符(C语言中整型量和字符量可以通用)。 fp:这是个文件指针,指出要在其中写入字符的文件。4. 返回值 正常返回: 要写入字符的代码。 非正常返回:返回EOF。例如...

通过传送地址值,直接在被调用函数中直接改变实参。是怎么改变的?_百度...
确实是只能单向传递(在C语言),不矛盾。如果直接传值(void swap(int a,int b)),那么无论在函数里如何修改这个值,都修改的是函数里那个变量的值,不会影响外面。如果传地址(void swap(int*a,int*b)),那么函数拿到这个地址就可以修改这个内存地址中的数据,退出函数后原来变量的内存地址中的...

长孙炉18914622561问: C语言求积分的指针调用函数代码求修改 -
新城子区惠菲回答: float integral(float a,float b,(*p)(float x)) 应该改为 float integral(float a,float b,float (*p)(float x))

长孙炉18914622561问: c语言如何在局部函数里,改变指针的指向 -
新城子区惠菲回答: 1、如果函数参数直接传递的是指针类型,那么在函数内改变指针指向,并不能影响函数外的指针实例.只有传入指针的指针,才能改变指针的指向.2、函数里的形参是一般变量,在函数里面改变变量的值,不会改变主函数里实参的值.指针就是地址变量,在函数里改变地址变量的值时,不会改变主函数实参地址变量的值.只有在函数里改变指针所指向的变量的值时 主函数实参指针所指向的变量的值才会改变.

长孙炉18914622561问: c语言中指针怎么使用? -
新城子区惠菲回答: 1、指针指向变量:下面有这样一个代码块:int main() {int a=10;int b=15;test(a,b);printf("a=%d,b=%d\n",a,b);} void test(int x,int y) {int tmp;tmp=x;x=y;y=tmp;} 最后输出的结果还是a=10,b=15.因为在函数调用时,实参和形参之间只是值传递....

长孙炉18914622561问: C语言指针的用法 -
新城子区惠菲回答: #include<stdio.h> #include<math.h> #include <conio.h> void sort(char *a[],int n) { int i,j; char *temp; for(i=0;i<n;i++) for(j=i+1;j<n;j++) if(strcmp(a[i],a[j]<0)) { temp=a[i]; a[i]=a[j]; a[j]=temp; } }int main() { char *a[3]; int i; for(i=0;i<3;i++) a[i] = (char *)malloc(...

长孙炉18914622561问: C语言的指针是如何使用的?
新城子区惠菲回答: 指针是指向地址的,所以你对指针修改也会影响到原地址的值,所以当你需要在函数里修改函数外的变量时可以考虑指针,当然指针还可以连接结构体里的节点之类的,后面还有跟函数有关的

长孙炉18914622561问: 在C语言中,指向函数的指针怎么调用函数? -
新城子区惠菲回答: 如果存在函数指针p,以*p取函数指针的值,然后加上参数列表调用即可. 即 ret = (*p)(arg_list); 如,p为int (*)(int)类型的函数指针,那么 int a = (*p)(10); 这样就是一次典型的函数指针调用.

长孙炉18914622561问: 我要用自定义的一个函数,改变指针变量b的值,怎么改啊,为什么我写的这个起不到作用呢?求大神照拂 -
新城子区惠菲回答: #include <stdio.h>#include <malloc.h> void fun(int **a) { *a=(int *)malloc(sizeof(int)); } int main() {int *b; b=(int *)malloc(sizeof(int)); fun(&b); } 这样就可以了.或者这样写#include <stdio.h>#include <malloc.h> int* fun(int *a) { a=(int *)malloc(sizeof(int...

长孙炉18914622561问: C语言指针问题 -
新城子区惠菲回答: 这位朋友,指针作用可大了,没有学好指针你等于没有学好C语言,指针是C语言的重点和难点.指针能够有效的表示数据结构;能动态分配内存;能较方便的使用字符串;有效的使用数组……指针直接与数据等的储存地址有关,是比较重要的.比如:值传递不如地址传递高效,因为值传递先从实参的地址中提出值,再赋值给形参带入函数计算;而指针则把形参的地址直接指向实参地址,使用时直接提出数据,使效率提高,特别在频繁赋值等情况下(注意:形参的改变会影响实参的值!)至于如何有效运用指针,这只有你的编程经验才能回答你的,呵呵 兄弟跟你说件事情,微软公司核心代码是用指针实现的,你说它的作用如何?

长孙炉18914622561问: c语言的自定义函数里面的指针声明该怎么做? -
新城子区惠菲回答: void swap( p1, p2) int *p1,*p2;这种写2113法是K&R C的声明格式5261,现在的编译4102器普遍遵循ANSI C(或者ISO C)标准,所以现1653在的C语言内程序已经不再使用容这种声明格式了,而是使用如下形式:void swap(int *p1,int *p2)

长孙炉18914622561问: C语言中函数指针用法 -
新城子区惠菲回答: 在C语言中,指针被广泛使用,而函数指针是最为高级的用法之一,也是容易疑惑的地方之一. 看下面这段代码: #include <stdio.h> void F(int a, int* output) { printf("a = %d\n", a);*output = a + 1; } typedef void (*FUNC)(); int main() { FUNC f = F;...


本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网