07 值传递和地址传递

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
", num, *p, *p2);
10 
11 }

  

原文地址:https://www.cnblogs.com/shanlu0000/p/12337653.html