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

C语言指针变量的赋值和做函数的参数,第1张

是一样的,pi=&i只是在定义的时候把

i

地址

pi指针(px指向x的地址)。“为什么右边同样是地址,左边不相等呢?”这段不知道什么意思?

它们的区别是

左边是利用返回值来读函数,而右边是利用函数调用,

因为只有只有指针才能修改地址的值,要传个地址给它,调用函数中的max要取

,获取它的值。

/

本程序介绍了三中通过子函数给指针赋值的方法,

比较有典型意义。

/

#include <stdioh>

#include <stdlibh>

//通过返回值传递指针的值

int func1()

{

//动态申请的内存,在子函数结束后才能依然存在而不被系统自动释放

//指针返回去才有意义

int data=(int )malloc(sizeof(int));

data=100;

return data;

}

//通过指向指针的指针传递指针的值

void func2(int q)

{

//动态申请的内存,在子函数结束后才能依然存在而不被系统自动释放

//指针返回去才有意义

int data=(int)malloc(sizeof(int));

data=200;

q=data;

}

//通过指针的引用传递指针的值

void func2(int & q)

{

//动态申请的内存,在子函数结束后才能依然存在而不被系统自动释放

//指针返回去才有意义

int data=(int)malloc(sizeof(int));

data=300;

q=data;

}

main()

{

int p;

p=func1();

printf("%d\n",p);

func2(&p); //注意是取指针的地址,你的第二提问用这种方法就能解决

printf("%d\n",p);

func2(p);

printf("%d\n",p);

}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/12183359.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-21
下一篇2023-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存