C语言指针的定义和使用

一、什么是指针

指针(Pointer)是编程语言中的一个对象,通过地址直接指向内存中该地址的值。由于通过地址能够找到所需的变量存储单元,可以说地址指向该变量存储单元,因此将地址形象化称为"指针"。总而言之,指针就是变量,存放内存单元的地址,存放在指针中的值都会被当作地址处理。

如下图所示:

此时在内存中开辟一块存储空间,存放变量a的值5;同时定义了一个指针变量p,将变量a的地址赋给指针变量p,此时,指针变量p内存放的就是变量a的地址,通过*p即可访问到指针变量p指向地址的数据,即 *p 的值为 5 。

二、指针类型

所有实际数据类型,不管是整型、浮点型、字符型,还是其他的数据类型,对应指针的值的类型都是一样的,都是一个代表内存地址的长的十六进制数。不同数据类型的指针之间唯一的不同是,指针所指向的变量或常量的数据类型不同。

1、指针类型决定了指针进行解引用操作的时候,能够访问空间的大小。

int* p;* p能够访问4个字节

char* p; * p能够访问1个字节

double* p; *p能够访问8个字节

2、指针类型决定了指针的步长。例如:

此时定义了3个类型的指针,分别为char *、int *、double *,分别对其进行加1操作,结果如下:

此时int *类型的指针加1操作的步长为4,char * 类型的指针操作步长为1,double * 类型的指针操作步长为8。

三、指针和数组的关系

数组名即该数组首元素的地址,即数组名就是一个指针。

运行结果:

全部评论

相关推荐

2025-12-22 16:31
已编辑
桂林电子科技大学 Python
很奥的前端仔:如果你接了offer 临时又说不去 hr确实要多做一些工作。 当然如果是接offer之前当我没说
点赞 评论 收藏
分享
2025-11-23 15:14
中原工学院 Java
程序员花海_:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务