在地址从1000开始的32位系统上,将是以下地址值?
int main()
{
int a[10];
a;
a++;
&a+1;
}
我试图将相同的内容打印到print语句中,但这给了我错误。
答案 0 :(得分:0)
您无法增加固定大小数组的值,例如int a[10]
或char str[10]
。指针上的地址增量是可能的。
例如
char *a="abcd";
printf("%p",a); //prints the address of a lets take 1000
a++; //increments the address by 1( size of character is 1 byte);
printf("%p",a); //prints 1001
但是在整数的情况下,例如
int *a={1,2,3,4};
printf("%p",a); //prints the address of a, lets take 1000
a++;
printf("%p",a) //prints 1004 (because the size of integer in 32 bit machine is 4 bytes.