指针是什么,秒懂

本文详细介绍了C语言中的指针概念,包括如何通过&p和*a操作指针,指针变量的地址和其指向的内容。同时,探讨了指针与二维数组之间的关系,解析了指针如何遍历和访问二维数组的元素。对于C语言初学者,这篇博客提供了深入理解指针的基础知识。
摘要由CSDN通过智能技术生成

对于指针

一、指针的细节:

()、对于一个变量a,&a是a的地址,创建一个指针*p,如果写 p=&a,则指针p指向a的地址,此时指针*p和a的值一样,为同一地址空间里的内容。

int a=100;    //申请一个int型变量a;
int *p;       //申请一个int型指针变量p;
p=&a;         //指针变量指向变量a的地址(指向变量a的指针);

(2)、*p,为创建一个指针变量,p代表这个指针的地址,*p代表这个地址所存放的内容,具体的类型根据自己申请的指针变量的类型,如下:

    float* p;    //申请一个float类型的指针p
  	double* p;    //申请一个double类型的指针p
	long* p;    //申请一个long类型的指针p
	int* p;    //申请一个int类型的指针p
	char* p;    //申请一个char类型的指针p

(3)、变量的地址叫做变量的指针;而存放地址的变量叫做指针变量(这个概念最好理解清楚);

(4)、指针变量自身也有一个地址,变量的值为指向的指针(即指向的地址);

(5)、 * :用来访问指针变量所存的地址的内容;

              & :用来访问的是指针变量自身的地址。

              注意:&可以取任何变量的地址,* 只对指针有效。同一优先级带*的话运算自右向左;

(6)、& 和 * 的优先级是一样子的,但是是按照自右向左运算;p = &a; &*p就是在求变量a的地址(自右向左,*p为a的值,&*p则为&a,即a的地址)。

(7)、对于int[3][4],*p=a[0];,指针p与二维数组的关系如下:

指针p与二维数组a的关系
地址描述意义数组元素描述意义
a、*a、a[0]、&a[0][0]、pa的首地址**a、*p、*a[0]、a[ 0][0]

a[0][0]的值

*a+1、a[0]+1、&a[0][0]+1、p+1a[0][1]的地址

*(*a+1)、*(p+1)、a[0][1]、*(a[0]+1)、

*(&a[0][0]+1)

a[0][1]的值
a+1a[1][0]的地址**(a+1)、*a[1]、a[1][0]

a[1][0]的值

a+ia[i][0]的地址**(a+i)、*a[ i ]、a[ i ][0]

a[ i ][0]的值

*a+i*4+j、p+i*4+j、a[0]+i*4+j、&a[0][0]+i*4+j、&a[ i ][ j ]a[i][j]的地址*(*a+i*4+j)、*(p+i*4+j)、*(a[0]+i*4+j)、a[ i ][ j ]、*(&a[0][0]+ i*4+j)a[ i ][ j ]的值

        指针p与二维数组的具体关系,去参考上一篇博客指针和二维数组哦,附上链接:http://t.csdn.cn/uythg

 

欢迎交流和提问,请在下方评论!

喜欢的话希望你的 点赞+收藏!

#include <stdio.h>

void main(){

        printf("欢迎交流和提问,请在下方评论!\n");

        printf("喜欢的话希望你的 点赞+收藏!\n");

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值