通过指针交换两数值
2016-08-25 19:36
239 查看
1、对于编程来说,语言的种类是很多种的,VB,Java,objective-c,c语言,C++语言等等。。。每种语言都有各有千秋,就看读者怎么去对待了。下面坐着就简单的介绍下C语言的部分
2、C语言被称为是母语,是编程语言的基础,而且在编译环境中,执行速度是比任何一种语言都是要快的,但是,由于C语言是面向过程的,没有丰富的类库(不懂得小伙伴可以百度),所以开发速度是很低下的
3、对于大数据来说,scanf和printf的处理能力是比其他语言更加的优秀,执行的速率也是相当的不错的
4、对于C语言来说,指针是它最迷人的地方,也是最让人头疼的地方,在使用指针的时候千万要小心,不要去解引用那些空指针和野指针,会导致程序崩溃,严重的话是会损坏到系统中的文件,因为野指针指向的空间是不确定的,当我们去试图解引用的话,就会产生我们不想看到的结果
5、函数:你可以想象成为一个大箱子,或者是一个加工厂,进过加工后得到我们想要的结果
6、函数的传参:三种情况:传值,传引用(C++中使用的,不支持C),传地址
下面看代码:
//交换的是指针的值,即交换了指针的指向。
void exchange1(int* x,int* y){
int* temp = NULL;
temp = x;
x = y;
y = temp;
}
// 通过两个地址不能正真交换两个数
//交换指针指向变量空间的值,指针指向不变。
void exchange2(int* x,int* y){
int temp = 0;
temp = *x;
*x = *y;
*y = temp;
}
// 这样交换是可以实现两个数字的交换的
假设主函数里定义两个变量 int = 5; int b = 7;
1、 那么调用exchange2函数的时候,变量a和变量b的地址就会传给exchange2函数中
2、 在调用函数后,形参*x和*y内容就是变量a和b的地址 : x = &a, y = &b;
3、 在进行交换的时候就是在修改形参的值,从而间接修改实参的值,而exchange1函数是无法改变实参的值,只是改变的是形参的值罢了
所以作者希望读者能够理解好指针,对于解引用和去地址都要小心!
2、C语言被称为是母语,是编程语言的基础,而且在编译环境中,执行速度是比任何一种语言都是要快的,但是,由于C语言是面向过程的,没有丰富的类库(不懂得小伙伴可以百度),所以开发速度是很低下的
3、对于大数据来说,scanf和printf的处理能力是比其他语言更加的优秀,执行的速率也是相当的不错的
4、对于C语言来说,指针是它最迷人的地方,也是最让人头疼的地方,在使用指针的时候千万要小心,不要去解引用那些空指针和野指针,会导致程序崩溃,严重的话是会损坏到系统中的文件,因为野指针指向的空间是不确定的,当我们去试图解引用的话,就会产生我们不想看到的结果
5、函数:你可以想象成为一个大箱子,或者是一个加工厂,进过加工后得到我们想要的结果
6、函数的传参:三种情况:传值,传引用(C++中使用的,不支持C),传地址
下面看代码:
//交换的是指针的值,即交换了指针的指向。
void exchange1(int* x,int* y){
int* temp = NULL;
temp = x;
x = y;
y = temp;
}
// 通过两个地址不能正真交换两个数
//交换指针指向变量空间的值,指针指向不变。
void exchange2(int* x,int* y){
int temp = 0;
temp = *x;
*x = *y;
*y = temp;
}
// 这样交换是可以实现两个数字的交换的
假设主函数里定义两个变量 int = 5; int b = 7;
1、 那么调用exchange2函数的时候,变量a和变量b的地址就会传给exchange2函数中
2、 在调用函数后,形参*x和*y内容就是变量a和b的地址 : x = &a, y = &b;
3、 在进行交换的时候就是在修改形参的值,从而间接修改实参的值,而exchange1函数是无法改变实参的值,只是改变的是形参的值罢了
所以作者希望读者能够理解好指针,对于解引用和去地址都要小心!
相关文章推荐
- C语言指针-------通过调用函数,完成两个数值的交换
- 【c++程序】通过指针修改定义的数值
- c语言中通过指针将数值赋值到制定内存地址
- 单双链表,通过指针变动交换相邻元素
- 函数交换,通过指针访问地址
- c语言中通过指针将数值赋值到制定内存地址
- C++中通过指针来交换两个数
- 运用指针,调用函数来是3个数从大到小输出(通过异或来交换大小)
- 练习2: 通过交换函数的实现,学习指针的用法。
- 通过只调整指针(而不是数据)来交换两个相邻的元素
- 通过函数给指针赋值(二)交换两个变量的值
- c语言,通过指针交换两个数的值
- 练习 3.3 通过只调整指针(不是数据)来交换两个相邻的元素
- 17-2 运用指针交换了a,b的地址,也就交换了a,b的数值
- 练习3: 通过打印指针,加深对交换函数和指针的理解。
- C语言不通过第三个变量交换a、b两数数值的技巧
- c中的指针数值交换
- C语言入门 指针通过交换变量地址交换变量值 源码
- c语言中通过指针将数值赋值到制定内存地址
- C语言不通过第三个变量交换a、b两数数值的技巧