php内核基础说明

本文介绍了C语言的基本数据类型,包括int、double、long、char及指针,并探讨了C语言中结构体struct和联合体union的区别。在PHP内核中,zval结构体占据了16字节。同时,文章讲解了堆和栈的概念,栈用于存储局部变量和函数调用信息,而堆则用于动态内存分配,需要开发者管理其生命周期。

C 数据类型

基本的数据类型有int、double、long、char及各种指针类型。在C语言中,使用变量时,提前定义变量并指定变量类型,而在PHP中变量不需要指定类型。
C语言的数据类型在不同的操作系统中长度不同。

结构体(struct)

使用 struct 定义就是结构体。zval结构体总大小 16 字节。

struct _zval_struct {
   zend_value        value;         /* value  8个字节 */
   union {
      struct {
         ZEND_ENDIAN_LOHI_4(
            zend_uchar    type,          /* 代表不同类型 */
            zend_uchar    type_flags,   /* 表示常量或不可变类型 变量标记 */
            zend_uchar    const_flags,   /* 常量类型标记 */
            zend_uchar    reserved)        /* 保留字段 */
      } v;
      uint32_t type_info;
   } u1;               /* u1  4个字节 */
   union {
      uint32_t     next;                 /* 解决hash冲突的 */
      uint32_t     cache_slot;           /* 运行时缓存 *
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

瑆箫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值