結構體內每乙個變數都獨佔一塊記憶體,並保持記憶體對齊
聯合體內所有變數公用同一塊記憶體,占用記憶體大小為聯合體中占用記憶體最大的變數的記憶體大小
每個變數的結構定義
zend_value表示變數的值struct _zval_struct u)
} v;
uint32_t type_info;
} u1;
union u2;
};
u1表示變數的型別
u2用於輔助功能
在乙個x86_64的機器中,整型的定義typedef union _zend_value ww;
} zend_value;
typedef int64_t zend_long;
如果是32位的機器中,整型的定義typedef int32_t zend_long;
從定義可以看出,就是double型別
字串的基本定義為:
struct _zend_string ;
陣列的基本定義
bucket結構,陣列中的每個元素的實際儲存結構struct _zend_array v;
uint32_t flags;
} u;
uint32_t ntablemask;
bucket *ardata; /* 陣列中實際儲存的資料節點 */
uint32_t nnumused; /* 陣列中使用的個數 */
uint32_t nnumofelements; /* 陣列中元素個數 */
uint32_t ntablesize; /* 陣列大小 */
uint32_t ninternalpointer;
zend_long nnextfreeelement;
dtor_func_t pdestructor;
};
typedef struct _bucket bucket;
#define is_undef 0
#define is_null 1
#define is_false 2
#define is_true 3
#define is_long 4
#define is_double 5
#define is_string 6
#define is_array 7
#define is_object 8
#define is_resource 9
#define is_reference 10
python核心資料型別
序列運算子 本文採用版本pyton3.5 數字 int,long,float,complex,bool 字元 str,unicode 列表 list 字典 dict 元組 tuple 檔案 file 其他型別 集合 set frozenset,類型別,none str repr 或format 將非...
Python核心資料型別 概覽
python的核心資料型別有 數字,字串,列表,字典,元組,檔案等。物件型別 例子 可變性 數字345,3.45,345l,3 4j 不可變字串 spam eggs 不可變列表 1,a b 2 可變字典 可變元組 1,2,spam 不可變檔案 myfile open data r w 內建函式var...
Python基礎 核心資料型別 數字
分類 整型 分為一般整型和長整型,一般整數為4位元組。對於比較大的數,用長整型,數字後面加l,如1000000000l,即使不顯式加l,python也可以通過檢測整數是否超過一般整型所能表示的最大整數進行自動轉換。還可以使用十六進製制 八進位制 二進位制表示整數 十六進製制 0xaf 0xaf 八進...