07 值传递和地址传递

拈花ヽ惹草 提交于 2020-02-20 23:48:20

1,C语言传递参数(或者赋值)可以是值传递,也可以传递指针,传递指针也叫地址传递

2,默认传递值的类型:基本数据类型(整型类型,小数类型,字符类型),结构体,共用体

     默认传递地址的类型:指针,数组

3,值传递

  ①将变量指向的存储内容,在传递/赋值时,拷贝一份给接收变量

      

 

 4,地址传递

  也叫指针传递,如果是指针,就将指针变量存储的地址,传递给接收变量,如果是数组,就将数组的首地址传递给接收变量

  

 

 1 #include<stdio.h>
 2 
 3 void main() {
 4     int num = 10;
 5     int* p = &num; //p指向num
 6     int* p2 = p; //注意没有&,不是传递p的地址,而是传递p内存储的值即num的地址给p2,所以p2也执行num
 7     *p2 = 5; //因为p2指向num,所以这里改变了num的值,num=5
 8 
 9     printf("num=%d *p=%d *p2=%d\n", num, *p, *p2);
10 
11 }

 

 

 

  

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!