C语言中,什么是地址值?

Python051

C语言中,什么是地址值?,第1张

地址值就是内存单元地址

例如:

int a,*p,b[10]

scanf("%d",&a)

p=a

指针变量p存放的就是地址值,是整型变量a分配到的内存单元地址。

数组名b也有一个值,它的值就是分配到的10个整型数存放单元的首地址,也是一个地址值。

地址和指针是紧密相连的,首先值是放在内存中的一个区域,而内存中的区域都会有不同的编号,这些编号可以认为就是地址。

例如:int*

a是指针变量,int

b=3,

a=b,则是错误的,此时a是不等于3的,因为a是指针变量,你不能把b的值赋给它。应该是

b的地址

a=&b,就是正确的,此时a存放的就是b的值在内存中的地址

如果你输出printf(“%d”,a)与printf(“%d”,*a)

结果是不一样

前者输出的是b在内存中的地址,后者输出的是指针a

指向b的地址的值(即b的值3)