(一)内存地址

#include <stdio.h>

int main()
{
int var1 = 20;
printf("变量var1的值为:%d\n", var1);
printf("变量var1的内存地址为:%p\n", &var1);

return 0;
}

运行结果:

变量var1的值为:20
变量var1的内存地址为:0x7ffd7ed6060c

这里20这个值是放在内存中地址为7ffd7ed6060c的空间中,0x是代表十六进制的意思。

小朋友学C语言(28):指针_指针变量

(二)指针

指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址。就像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声明。

#include <stdio.h>

int main ()
{
int var = 20; /* 变量var的声明 */
int *p; /* 指针变量p的声明 */

p = &var; /* 在指针变量中存储 var 的地址,也就是给指针变量赋值 */

/* var在内存中的地址 */
printf("Address of var: %p\n", &var );

/* 在指针变量中存储的地址 */
printf("Address stored in p: %p\n", p );
/* 指针本身在内存中的地址 */
printf("Address of p: %p\n", &p);

/* 使用变量访问值 */
printf("var = %d\n", var);
/* 使用指针访问值 */
printf("*p = %d\n", *p );

return 0;
}

运行结果:

Address of var: 0x7ffecc6d7ea4
Address stored in p: 0x7ffecc6d7ea4
Address of p: 0x7ffecc6d7ea8
var = 20
*p = 20

小朋友学C语言(28):指针_指针变量_02


更多内容请关注微信公众号

小朋友学C语言(28):指针_c语言_03