首页 > 编程知识 正文

指向字符串的指针变量,引用传参和指针传参

时间:2023-05-03 17:36:28 阅读:162559 作者:3611

指针/引用

相同点:是变量地址的概念

指针:指向存储器,指针本身存储该存储器的地址

引用:是这个存储器的别名

c:

int a=10;

int *b=a;

*b=5;

int *c=b; //warning int*=int **

*c=1; //错误的使用方法无法改变a的值

php:

$a=10;

$b=$a;

$b=5;

$c=$b;

$c=1;

echo $a; //输出1、a、b、c这3个变量都是其存储器的别名

赋值

C语言只有交货

例如,结构也是copy变量

想改变实参的内容的话,只有使用指针了

struct_a go={1};

func(go );

voidfunc(struct_a ) {

a.b=10; //并不改变外面go的内容

}

在php中,class是引用传递,其他是传递值

$a=new MyClass (;

$a-a=10;

$b=$a;

$b-a=5;

echo $b-a; //输出5,$b为

值得注意的是数组,虽说都是加价,但表达方式不同

c:

inta [5]={ 1,2,3,4,5 };

int *b=a;

b[0]=10;

printf(%d(n ),a[0]; //输出10

php:

$ a=[ 1,2,3,4,5 ];

$b=$a;

$b[0]=10;

echo $a[0]; //输出5

在c语言中,a表示数组a[5]的最初变量的地址,所以代入时使用指针int *p

在php中$b=$a那是纯粹的价格传递,数组$a copy一份

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。