Big / Little endian上的指针减法

时间:2017-02-02 13:50:06

标签: c cpu-architecture

这是一个查找字符串长度的示例程序。

    {
      char *ptr="Autobiography Of Yogi";
      char *a = ptr , *b = &ptr[20];
      printf(" length is %d ", (b-a)+1 ); // subtracting pointers to find string length 
    }

我的问题是,这个程序对Little和Big endian机器都很好吗?

2 个答案:

答案 0 :(得分:2)

是的,没关系。只有在查看较大整数的单个字节时才会出现问题。

答案 1 :(得分:2)

  1. 你正在处理角色,所以小端或大端不会出现在图片中。它仅对2个或更多字节数据值有效。

  2. 指针的减法无论如何都不依赖于小端或大端。