本文介绍: 指针 直接访问 间接访问 指针变量
前言
指针是C语言中一个重要概念,也是C语言的一个重要特色,正确而灵活地运用指针可以使程序简洁、紧凑、高效。每一个学习和使用C语言的人都应当深入的学习和掌握指针,也可以说不掌握指针就没有掌握C语言的精华。
一、什么是指针
想弄清楚什么是指针,必须先弄清楚数据在内存中是如何存储的,又是如何读取的。
如果在程序中定义了一个变量,在对程序进行编译时系统就会给这个变量分配内存单元。编译系统根据程序中定义的变量类型分配一定的长度空间,如visual C++为整型变量分配四个字节,为字符型变量分配一个字节,内存中的每一个字节都有一个编号,这就是“地址”。它相当于旅馆中的房间号,在地址所标志的内存单元中存放的数据则相当于旅馆房间中居住的旅客。
由于通过地址能找到所需的变量单元,可以说地址指向该变量单元。打个比方:一个房间的门口挂了一个房间号2000,这个2000就是房间的地址,或者说2000指向该房间,因此将地址形象化地称为“指针”,也就是说通过它能找到地址的内存单元。
说明(非常重要): 在C语言中,数据是分类型的,对不同类型的数据,在内存中分配的储存单元(字节数)大小也不一样的,存储方式也是不同的(如整数是以补码的形式存放的)。如果指定了地址是1010,要从带单元中调出数据是做不到的,虽然能找到对应的存储单元,但时不能确定是从一个字节还是2个字节还是三个字节取数据,也没有说是按何种存储方式进行存储数据的,因此C语言的地址包括位置信息(纯地址)和它所指向的数据的类型信息,如&a,一般称它为变量a的地址。
二、直接访问和间接访问
在我们进行指针学习的过程中,一定要弄清楚存储单元的地址和存储单元的内容这2个概念。
三、指针变量(简讲,下一期详细讲解)
小结
🚀感谢:给读者的一封信
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。