C/C++教程

【C语言】指针简介

本文主要是介绍【C语言】指针简介,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、指针

#include <stido.h>
int main(void){
	int* p;   //定义了一个存放整形数据的指针的变量p
	int i=3;
    
    p=&i;  //&取变量i的地址。存放在p中
    p=i;  //error,i是整形变量,p是整形变量的地址,二者冲突
    p=55; //error,p只能存放整形数据的地址
}
  1. p保存了i的地址,因此p指向i

  2. p不是i,i也不是p,更准确来说:修改p的值不影响i的值,修改i的值不影响p的值

  3. 如果一个指针变量指向了某个普通变量,则

  (*指针变量) 完全等同于 (普通变量)

例:如果p是个指针变量,并且p存放了普通变量i的地址

   则p指向了普通变量i

   (*p ) 完全等同于 (i)

   或者说:在所有出现*p的地方都可以替换成i

       在所有出现i的地方都可以替换为*p

       *p就是以p的内容为指针的变量

原因:C语言规定*a代表a中存储的地址对应的存储单元中的数据,也就是访问*a就等于访问b,于是*a提供了通过a访问b中的数据的手段。

二、指针和指针变量:

 指针就是地址,地址就是指针,地址就是内存单元的编号

 指针变量就是存放地址的变量

 通常把指针变量简称为指针,但二者不同

地址:从0开始的,内存单元的编号,【0-2的n次方-1】

指针:指针的本质就是一个操作受限的非负整数

三、指针的重要性(指针是C语言的灵魂)

 1. 表示一些复杂的数据结构
 2. 快速地传递数据
 3. 使函数返回一个以上的值
 4. 可以直接访问硬件
 5. 能够方便的处理字符串
 6. 是理解面向对象语言中引用的基础

四、指针的分类

 1.基本类型指针(重点)

 2.指针和数组

 3.指针和函

 4.指针和结构体(重点)

 5.多级指针

这篇关于【C语言】指针简介的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!