189 8069 5689

c语言带有指针形参的函数 c语言结构体指针做函数参数

c语言中带指针参数函数怎么申明呢 如void swap(int *a,int *b);

1、和正常的函数声明方法一样。

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、成都网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的霞山网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

C语言的函数定义格式是:

函数返回值类型 函数名 ( 参数列表 )

{

//函数体

}

在使用函数时,要先做声明,格式如下:

函数类型 函数名称 ( 参数列表 );

特别地,在函数声明中的参数列表中,不需给出具体的变量名称,但要给出每个变量的类型。

2、void swap( p1, p2)

int *p1,*p2;

这种写法是KR C的声明格式,现在的编译器普遍遵循ANSI C(或者ISO C)标准,所以现在的C语言程序已经不再使用这种声明格式了,而是使用如下形式:

void swap(int *p1,int *p2)

C语言----指针参数的函数

确实很急,函数声明 中的函数名都打错了~~返回值也没打。

函数传递是值传递,传递指针的值 能改变 调用函数的值是因为 他们的地址是 一样的。而实质上也是值传递,进来的是指针指向的地址。

而你mop函数交换的是 指针 也就是 地址 值 当然不影响调用函数。

主函数中

p=m;m=n;n=p;

交换是因为这几个指针一直在作用域中,没有释放。交换了指针中存放的地址,就是指向的内存地址的改变。运行下下面二的程序 能帮你理解。

#includestdio.h

int main()

{

int a=604,b=750,c;

int *m,*n,*p;

m=a;

n=b;

printf("指针没有交换前的地址m n %d %d\n",m,n);

p=m;m=n;n=p;

printf("指针交换后的地址m n %d %d\n",m,n);

printf("%d%d\n",*m,*n);

printf("值没有交换前的地址m n %d %d\n",m,n);

c=*m;*m=*n;*n=c;

printf("值交换后的地址m n %d %d\n",m,n);

printf("%d%d\n",*m,*n);

return 0;

}

===========================

#includestdio.h

int main()

{

void nop(int *x,int *y);

void mop(int *x,int *y);

int a=604,b=750;

int *m,*n;

m=a;

n=b;

printf("主函数中指针交换前的地址\tm n %d %d\n",m,n);

mop(m,n);

printf("主函数中指针交换后的地址\tm n %d %d\n",m,n);

printf("%d%d\n",*m,*n);

nop(m,n);

printf("%d%d\n",*m,*n);

return 0;

}

void mop(int *x,int *y)

{

printf("指针没有交换前的地址\t\tm n %d %d\n",x,y);

int *z;

{z=x;x=y;y=z;}

printf("指针交换后的地址\t\tm n %d %d\n",x,y);

}

void nop(int *x,int *y)

{int a;

a=*x;*x=*y;*y=a;

}

C语言用指针作函数参数

选D

因为第一个参数是地址传递,fun(b,a);中传入a字符。*c=*c+1将c的值变为b字符。主函数的值改变。

第二个参数是值传递,所以在函数中d的值为B字符。但是并不影响主函数的值,所以主函数输出a的值是A。b的值是b。

c语言指针型函数

#includestring.h  // 导入头文件string.h

#includestdio.h   // 导入头文件stdio.h

char *fun(char *t)  // 定义函数, 名称fun, 输入参数为char *, 返回值为char *

{

char *p = t;    // 把t的值赋值给p, 相当于p指向与t相同的字符串

return p + strlen(t) / 2;   // strlen返回值为字符串长度, 然后p位移其一半(向下取整)的距离并返回值

}

int main(int argc, char *argv[])

{

char *str = "abcdefgh"; // str指向字符串“abcdefgh”

str = fun(str);         // str调用fun函数, 参数为str, 并将返回值赋值给str

puts(str);              // 此时str指向e, 输出为“efgh\n”

return 0;

}


网站栏目:c语言带有指针形参的函数 c语言结构体指针做函数参数
网址分享:http://cdxtjz.cn/article/hpccjp.html

其他资讯