两个指针相减

遇到一道题要求用数组的头尾指针相减求数组长度

于是:

但是这就尴尬了,编译器提示int类型无法初始化 int **

于是上网发现了ptrdiff_t

ptrdiff_t是C/C++标准库中定义的一个与机器相关的数据类型。ptrdiff_t类型变量通常用来保存两个指针减法操作的结果。

于是就有

我们可以在debug模式下看见

 

 那就证明指针是可以相减的,只是指针相减和seizeof 有所不同,是头尾指针的中间所以要加一才是个数

posted @ 2018-01-08 14:57  Cyberhan  阅读(1780)  评论(0编辑  收藏  举报