zoukankan      html  css  js  c++  java
  • 浅谈指针01

                           最近在学数据结构,发现里面几乎都要用到指针,这让我不得不复习一下指针,毕竟指针是c语言的灵魂,弄明白了这个,学其方面也有帮助,所以现在我们第一天先浅谈指针。

               一、指针概念:

                      1、什么是指针?

                              在讲指针之前,要明白“地址”这个概念(因为这个是理解指针的小前提):寄快递想必大家都不陌生吧,在寄快递的时候,你必须得填写收件人的所在地方(也就是地址),这样快递公司才好运送。

    从这个简单的例子可以看出,地址就是一个标记识别符,你得知道它在哪里,才方便办事,虽然这个例子不太好,但还是有助于理解(在计算机里面,地址是内存单元的编号,是一个从0开始的非负整数,范围是从0----0XFFFFFFFF(0---4G-1),注意这里的0XFFFFFFFF是32位操作系统的内存空间大小)。好了,例子说完了,回归主题;指针就是地址就是地址,地址就是指针,指针本质是一个操作受限的非负整数,是不是好理解,hhh 。

                       2、什么是指针变量,什么是变量指针?

                                自己一开始学习指针的时候,被这个弄晕了头,老是弄错了,很是伤脑筋;那我们来看一下他们的区别吧(也是对自己再一个学习):

                                       a、指针变量:它是一个存放内存单元地址的变量。

                                     b、变量指针:简单来说就是变量的地址

                              我们还是来看一个简单的代码来理解:

     1 #include <stdio.h>
     2 int main()
     3 {
     4     int * p;   //p是一个变量名字,int * 表示该p变量只能存储int类型变量的地址 ,也就可以理解上面那个指针变量 
     5     int i=10;
     6     int j;
     7     
     8     
     9     p=&i;   //这里的"&"是一个取地址符号,把i变量的地址取出来赋给指针p,这里可以理解上面那个 变量指针,也就是说的变量地址,因为其实每个变量在内存单元中都有一个地址标识符 
    10     printf("%p
    ",p); #打印出p的地址
    11  }

                          

       

                  

  • 相关阅读:
    MyBatis 自动关闭 session
    Sublime相关操作及配置
    CentOS yum换源并配置SSH
    SpringSecurity认证流程
    ES模块化的导入和导出
    Promise学习
    axios的使用
    SpringSecurity注解的使用
    Webpack笔记
    JAVA工具类
  • 原文地址:https://www.cnblogs.com/1121518wo/p/10841917.html
Copyright © 2011-2022 走看看