在下面的程序中,如果我给一个 void 指针加 1,它会向前移动一个字节。但是,正如预期的那样,它分别为 int
和double
指针移动了 4 和 8 个字节。为什么 void 指针移动了 1 个字节,就像一个字符指针会?
#include<stdio.h>
int main(void)
{
int num=3,*int_ptr=#
double sum=3,*double_ptr=∑
void *void_ptr1=&num,*void_ptr2=∑
printf("%p,%p,%p,%p,%p,%p,%p,%p",void_ptr1,void_ptr1+1,\
void_ptr2,void_ptr2+1,int_ptr,int_ptr+1,double_ptr,double_ptr+1);
}