未更新完

C语言基础(3)-指针

指针的含义

指针是用来干什么的?

指针就是用来存储地址的

  1. 变量就是用来存储数据
  2. 指针就是用来存储地址

数据和地址会以二进制补码形式存储在内存中,数据在内存中会有负数形式,地址没有负的,地址一般是以十六进制的形式展现

指针的定义

1
2
3
4
5
6
7
/*数据类型 变量名;*/
char c;
int i;
float f;
char* pc;
int* pi;
float* pf;

通过sizeof测试指针的数据类型大小

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int main()
{

printf("sizeof(void *) = %ld\n", sizeof(void *));
printf("sizeof(char *) = %ld\n", sizeof(char *));
printf("sizeof(short *) = %ld\n", sizeof(short *));
printf("sizeof(int *) = %ld\n", sizeof(int *));
printf("sizeof(long *) = %ld\n", sizeof(long *));
printf("sizeof(float *) = %ld\n", sizeof(float *));
printf("sizeof(double *) = %ld\n", sizeof(double *));

return 0;
}
/*
输出:
sizeof(int *) = 8
sizeof(long *) = 8
sizeof(float *) = 8
sizeof(double *) = 8
*/

无论什么类型的指针,在当前机器上测试的结果都是8byte,因为当前是64bit的操作系统,所以一个地址长度占用64bit,所以想要把64bit的地址存储起来,指针也需要64bit的存储空间,所以无论何种类型的指针,测试二点结果都是8byte(32bit的系统上指针的大小是4byte)

指针的命名和变量的命名一致