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