c语言地址做函数参数 c语言地址表达式

C语言指针变量的赋值和做函数的参数

1、指针变量的赋值,分为定义时赋值(初始化)和单独赋值,如:

宁江网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站等网站项目制作,到程序开发,运营维护。成都创新互联公司于2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司

int x ;

int * px=x ; //定义时赋值,也称初始化,注意这里的*是跟随int的,即变量px是int *类型变量!  实际上的赋值语句是px=x ;

int * py ;

py=x ; //单独赋值,将py指向x

*py=10 ; //这里的*,是引用指针中的数据操作符,*跟随的变量必须是指针类型变量,否则会出错!  *py就是x,这里相当于x=10;

2、指针变量作为函数的参数时,子函数可以通过指针引用实参地址中的数据,达到修改实参地址中的数据。如:

#include stdio.h

void func( int a, int b, int *pmax )

{

if ( ab ) *pmax=a;

else *pmax=b ;

}

void main()

{

int a=2,b=3,max=0;

func(a,b,max ); //这里将变量max的地址传递到子函数,子函数中通过该地址,可以修改max的值,达到子函数结束后,max能带回运算结果的效果。

printf("max=%d\n", max );

}

c语言 地址 形式参数

1.引用 是c++ 对c的一个扩充。它的作用是 给变量取一个别名,比如

int b=a; 那么 a 和b 代表同一个变量。

2.在c++中函数的参数传递有3种情况:将变量名作为实参;传递变量的地址;传递变量的别名。

3.

void change(int x,int y)

//x和y是整型的引用变量;这里的不是取地址了。而是声明引用变量

{ int e;

e=x; x=y; y=e;

}

void main()

{int a=1,b=2;

change(a,b); //把变量名传给形参;

printf("%d %d",a,b);

}

C语言中如何以结构体变量的地址作为函数形参,以便将指向结构体变量的指针传递给它?

C语言中,所有的变量都存储在内存中,可以通过运算符获得变量的内存地址,函数调用时,只需要把普通变量前加上符号,就可以达到传递变量地址的目的。

例如:

定义一个结构体类型

struct Yearmonthday

int year, month, day;

};

定义相关函数,参数类型指定为结构体类型指针

void input(struct Yearmonthday *p1) //函数形参p1是结构体指针类型

{

printf("请输入年,月,日:");

scanf("%d,%d,%d",p1-year,p1-month,p1-day);

}

在主函数中定义一个结构体变量,调用相关函数,传递变量地址

int main()

struct Yearmonthday ymd;

input(ymd); //传递变量地址,以便带回数据

printf("date=%d/%d/%d\n", ymd.year, ymd.month, ymd.day ); //输出结果

return 0;

}

c语言函数参数里的取地址符号是什么意思

就是找到这个变量的内存地址,直接读写

例如:scanf("%d",a);

就是找到a的地址,把读入一个数写到a

的地址中

在例如

p=a;

就是让指针p指向a的内存地址,这样直接对内存读写.有利于提高操作速度.


分享标题:c语言地址做函数参数 c语言地址表达式
文章源于:http://pwwzsj.com/article/ddicogj.html