指针实际上是内存单元的编号
指针变量的大小 在32位的机器上,地址是32个 0或者1 组成二进制序列,那地址就得用4个字节的空间来存储,所以,一个指针变量的大小就应该是4个字节;那如果在64位机器上,如果有64个地址线,那一个指针变量的大小是8个字节。
指针类型决定了指针在被解引用的时候访问几个字节:
如果是int的指针,解引用访问4个字节;如果是char的指针,解引用访问1个字节,推广到其他类型。而指针变量在确定的位数下,不管是什么int,char类型的情况下,都是4个或者9个字节。
int main()
{
int a = 0x11223344;
int *pa = &a;
char *pc = (char*)&a;
printf("pa=%p\n", pa);
printf("pc=%p\n", pc);
}
打印出的结果相同 @77. 【C语言初阶】指针_指针和指针类型_哔哩哔哩_bilibili 52:31
指针的运算
(指向同一块内存)指针-指针得到的结果是两个地址间的元素个数。