指针的使用
指针就是内存空间每个单元的地址。
int a = 10; //向内存申请4个字节的存储空间,用来存放10
int* p = &a;
*p = 20;//此处的*用作解引用操作符,*p表示通过p中存放的地址,找到p指向的对象。*p就是p指向的对象的值。
对于以上代码:
- “&”表示获取变量的存储地址。
- “*”表示p是一个指针变量。
- int表示p指向的变量是int类型的。
指针变量的大小
//指针变量的大小取决于一个地址存放的时候需要多大的空间
//32位机器上的地址:32bit位,4Byte,所以指针变量的大小是4字节
//64位机器上的地址:64bit位,8Byte,所以指针变量的大小是8字节
printf("%zu\n",sizeof(int*)); //8
printf("%zu\n",sizeof(char*)); //8
printf("%zu\n",sizeof(short*)); //8
printf("%zu\n",sizeof(double*)); //8
printf("%zu\n",sizeof(float*)); //8
printf("%zu\n",sizeof(long*)); //8