C语言指针加1

    xiaoxiao2022-06-27  178

    C语言中的指针加1并不只是简单的地址加1而已,实际上指针加1,地址偏移的多少是与指针的类型相关的。

    demo如下:

    int main() { char arr1[10]; char *p1 = &arr1[0]; printf("%d \n", p1); printf("%d \n", p1+1); //p1+1地址偏移了一个sizeof(char) int arr2[10]; int *p2 = &arr2[0]; printf("%d \n", p2); printf("%d \n", p2 + 1); //p2+1地址偏移了一个sizeof(int) }

    结论:指针加1不是单纯的地址偏移1位,而实则上地址是偏移了一个sizeof(指针指向的类型)


    最新回复(0)