php 等号 箭头,PHP vs C中的箭头运算符

我是一名PHP程序员,试图学习更多PHP背后的理论,但是在连接PHP和C之间的点时遇到麻烦.例如,箭头运算符在PHP和C中是否完全相同?

这是我研究时想到的:

>在C中,->只是别名,a-> b与(* a).b相同.箭头运算符只是取消引用指针,因此您可以与地址变量进行交互.

>在PHP中,->是参考.它“引用实例化对象的属性”(未知).但这和C一样吗?

注意:今天,我了解了C中的指针.

解决方法:

在PHP中,->用于访问类的成员. C没有课程.

最接近的是一个结构.

在PHP中

class Animal {

public $color;

public $age;

}

$fido = new Animal;

$fido->color = 'white';

$fido->age = 3;

$kitty = new Animal;

$kitty->color = 'brown';

$kitty->age = 5;

// output

echo 'Fido is ' . $fido->color . "age=". $fido->age . "\n";

echo 'Kitty is ' . $kitty->color . "age=". $kitty->age . "\n";

输出为:

Fido is white age=3

Kitty is brown age=5

您可以使用结构在C语言中执行类似的操作.它涉及更多.

打扰一下,我很生锈

struct Animal {

int age;

char color[50];

};

int size = sizeof(struct Animal);

struct Animal * fido = malloc(size);

struct Animal * kitty = malloc(size);

fido->age = 3;

strcpy(fido->color, "white");

kitty->age = 5;

strcpy(kitty->color, "brown");

printf("Fido is %s age=%d\n", fido->color, fido->age);

printf("Kitty is %s age=%d\n", kitty->color, fido->age);

除非您真的想深入了解底层细节,否则请不要过多考虑PHP参考.这意味着在执行函数调用等操作时它们不会传递实际值.

标签:reference,c-3,php,pointers

来源: https://codeday.me/bug/20191210/2104632.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值