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; /* 运行时缓存 *

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

被折叠的 条评论
为什么被折叠?



