我制作了这个代码更大的最小工作示例。
问题是,sizeof打印第一次调用16,这是正确的大小,而第二次调用只打印8。奇怪的是,它总是打印8,独立于结构的大小,是否有只有一个值或10个值。
select X.CUST_ID,X.CUST_NAME,X.PARAM_TYPE,
X.PARAM_NAME,X.PARAM_VALUE, Y.PARAM_NAME,Y.PARAM_VALUE
from test01 x
join test01 y
on
x.param_type = 'hand'
and y.param_type = x.param_type
and x.param_name = 'left'
and y.param_name = 'right'
and X.CUST_ID = Y.CUST_ID
and X.CUST_NAME = Y.CUST_NAME
and x.param_value < y.param_value
答案 0 :(得分:5)
sizeof(test_array)
sizeof(unsigned char *)
大小为指针。