我想知道两个指向选项卡的指针之间有多少个元素,带有一个函数。
例如,在此代码中,nb 将为 20。
int main(void)
{
int t[50] = {0};
int nb;
nb = finding_number_element(&t[10], &t[30]);
return (0);
}
你有想法吗?
尝试
int finding_number_element(int *a, int *b)
{
return (b - a);
}
如果 a 和 b 将是指向同一个数组的指针,这应该可以工作。
如果您需要一些不关心 t 的数据类型的东西
#define ele_size(x) sizeof(x[0])
int main(void)
{
int t[50] = {0};
int nb;
nb = finding_number_element(ele_size(t),&t[10], &t[30]);
return (0);
}
int finding_number_element(unsigned int ui_ele_size, void *a, void *b)
{
unsigned int ui_pointer1 = (unsigned int)a;
unsigned int ui_pointer2 = (unsigned int)b;
return ((b - a)/ui_ele_size);
}