繁体   English   中英

在C89中添加指向size_t的指针

[英]Adding a pointer to size_t in C89

首先,我知道这个帖子

现在假设我有这个数组:

size_t    count = some_value();
struct info    *pinfos = malloc(count * sizeof(struct info));

我想用变量“导航”它

struct info     *p;

我可以使用此代码检查限制吗?

p   <   (char*)pinfos  +  count*sizeof(struct info)  -  1

这在C89是合法的吗?

有没有更“合适”的方式呢?

你可以做到这一点,但你过度复杂,只是这样做

p < pinfos + count - 1

并且它将起作用,因为指针算法是根据指针类型的大小执行的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM