数组与指针的关系 长期以来,在C/C++中,数组名和指向数组首元素的指针常量到底是以一种什么关系,一直困扰着很多人。很多地方,甚至是一些教科书中都在说,“数组名就是一个指向数组首元素的指针常量”。但事实是,这是一种错误的说法!我们可以在很多场 …
标签:C/C++
C语言中的参数传递
C中的参数传递 本文尝试讨论下C中实参与形参的关系,即参数传递的问题。 C语言的参数传递 值传递 首先看下列代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#include <stdio.h> int main(){ int n = 1; printf("实参n的值:%d,地址:%#x\n", n, &n); void change(int i);//函数声明 change(n); printf("函数调用后实参n的值:%d,地址:%#x\n", n, &n); return 0; } void change(int i){ printf("形参i的值:%d,地址:%#x\n",i,&i); i++; printf("自增操作后形参i的值:%d,地址:%#x\n",i,&i); } |
编译后执行结果如下:
1 2 3 4 5 |
实参n的值:1,地址:0x5fcb0c 形参i的值:1,地址:0x5fcae0 自增操作后形参i的值:2,地址:0x5fcae0 函数调用后实参n的值:1,地址:0x5fcb0c |
可以看到,在调用函数 change 时, …