-1

请使用数字和字符指针添加和减去类似类型的指针的一些示例。使用 C。

谢谢。

4

2 回答 2

1

你可以检查这个以了解指针算法

于 2009-12-25T03:18:49.050 回答
1

这是一个从 C 字符串中提取单个字符的实际示例:

char charAt( char *str, size_t idx) {
    if (idx > strlen (str))
        return '\0';
    return *(str+idx);
}

或者另一个,它将数组中的一个整数与它之前的整数交换(没有范围检查):

void swapInts( int *base, size_t idx) {
    tmp = *(base+idx);
    *(base+idx) = *(base+idx-1);
    *(base+idx-1) = tmp;
}

在这两种情况下,*(pointer+offset)pointer[offfset]使用指针算术而不是数组偏移量相同:

*(str+idx)        ->     str[idx]
*(base+idx)       ->     base[idx]
*(base+idx-1]     ->     base[idx-1]

警告:不要在你的作业中逐字使用这些,想想它们然后写你自己的。如果您逐字复制它们,您几乎肯定会失败,因为您的教育工作者无疑也会关注这些网站。

于 2009-12-25T03:45:37.597 回答