C语言中swap函数是啥意思?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中swap函数是啥意思?相关的知识,希望对你有一定的参考价值。
C语言中swap函数是自定义的函数,C标准库里没有swap函数。swap函数是用来交换的函数,经常在C语言中排序中会用到。
代码示例:
#include<stdio.h>
void swap(int *a, int *b)
int t;
t = *a;
*a = *b;
*b = t;
int main()
int a=23,b = 43;
printf("输入的两个要交换的数为:%d,%d\\n",a,b);
swap(&a,&b);
printf("交换后的数为:%d,%d\\n",a,b);
return 0;
程序运行:
扩展资料
C语言中使用swap()函数,要注意的是,想要交换a,b的值,其实就是相当于要在函数中改变变量的值,要做到这一点,就需要向形式参数传递实际参数的地址了,因为这样把变量的地址复制到函数中的变量里,它们指向的是内存中的同一个地方,在函数中改变这个地方的值,那么外部的变量的值也就改变了。
参考资料:百度百科-C语言
参考技术A C语言libc里面没有swap函数,swap函数一般是一个程序员自定义函数,是实现两个变量数值的交换。c语言中函数memset()是啥意思?啥功能
如题
memset()的函数, 它可以一字节一字节地把整个数组设置为一个指定的值。 memset()函数在mem.h头文件中声明,它把数组的起始地址作为其第一个参数,第二个参数是设置数组每个字节的值,第三个参数是数组的长度(字节数,不是元素个数)。其函数原型为:void *memset(void*,int,unsigned);
其中void*表示地址
memset()的第一个实参是数组名,数组名作参数即数组作参数,它仅仅只是一个数组的起始地址而已。
实现第一个memset()函数调用的内存布局见图7-3。 在函数memset()栈区,从返回地址往上依次为第1,2,3个参数。第1个参数中的内容是main()函数中定义的数组ia1的起始地址。第2个参数是给数组设置的值(0),第3个参数是数组的长度(50*2)。函数返回时,main()函数的数组中内容全置为0。 参考技术A memset()的函数, 它可以一字节一字节地把整个数组设置为一个指定的值。 memset()函数在mem.h头文件中声明,它把数组的起始地址作为其第一个参数,第二个参数是设置数组每个字节的值,第三个参数是数组的长度(字节数,不是元素个数)。其函数原型为:
void *memset(void*,int,unsigned);
其中void*表示地址
memset()的第一个实参是数组名,数组名作参数即数组作参数,它仅仅只是一个数组的起始地址而已。
实现第一个memset()函数调用的内存布局见图7-3。 在函数memset()栈区,从返回地址往上依次为第1,2,3个参数。第1个参数中的内容是main()函数中定义的数组ia1的起始地址。第2个参数是给数组设置的值(0),第3个参数是数组的长度(50*2)。函数返回时,main()函数的数组中内容全置为0。
中国物联网校企联盟技术部 参考技术B memset(地址指针, 值, 大小)将地址指向的区域连续大小的内存区域填充为值 参考技术C void *memset(void *s,int ch,size_t n);
函数解释:将 s 中前 n 个字节用 ch 替换并返回 s 。
memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法.
请参考:
http://baike.baidu.com/view/982208.htm
以上是关于C语言中swap函数是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章