zoukankan      html  css  js  c++  java
  • 黑马程序员__指针

    指针

    定义

    指针是一种数据类型,可以定义一个变量,称为指针变量。指正变量表示的是其他某个变量的地址,也就是说,指针是用来储存地址的,而指针本身也是有自己的地址,指针变量所占的储存空间为8个字节。

    为什么要用到指针呢?打个比方,在KTV有很多包房,每个包房都有房间号,变量就像服务员,如果定义变量对每个包房进行服务,显然要很多的变量(服务员),这时候就可以定义一个指针变量,根据每个包房的房间号,以及不同类型的包房进行服务,这样可以大大的降低内存的消耗,在变量的管理和代码的精简度都有很大的提高

    格式

    变量类型 *变量名 比如:
    char *c
    int *p


    *p = 20 *的作用是访问变量p指向的储存空间

    指针和数组

    数组就是由多个相同类型的数据组成的,定义一个数组 int ages[5] = {1,2,3,4,5}
    数组在内存中用首元素可以表示数组的地址,如果定义一个指针变量p,int *p;
    那么,p = ages ,表示指针p指向了数组ages,也就是指向了数组首元素的地址,所以也可以这样表示 p = &ages[0]

    指针与字符串

    通常情况下可以用指针来定义一个字符串

    char *p = “love”
    p就可以来表示一个字符串常量,随时调用,一般用在很少修改这个字符串且要经常调用这个字符串的情况下
    但是,如果要修改这个字符串,显然用指针的话会很不方便,这时候就可以用数组来定义一个字符串:
    char p[] = “love”;

    指针和函数


    如果要快速调用一个函数,我们就可以定义一个指向函数的指针
    int *p (int,int) ,p就是函数名,前面的int时函数返回的数据类型,括号里面的两个int是函数要传入的参数,
    int c = p(10,10),这样就调用了一个函数。

    有的人都说用指针调用函数,就像方法的封装,类似于面向对象的感觉,反正我现在时真的体会不到,个人觉得直接用函数名来调用也是挺方便的,而且还容易理解。

    现在对指针的理解还不怎么深刻,用起来也不是那么畅快,没有传说中的那么强大,希望自己还是要多积累经验

  • 相关阅读:
    类和对象的一些BIF
    mac入门--通过hhomebrew下载过慢问题
    Vue的组件及传参
    Vue的指令和成员
    Vue基础(1)
    Python中好用的模块们
    Django-Auth认证模块
    Django杂篇(2)
    Django杂篇(1)
    Django的日常-AJAX
  • 原文地址:https://www.cnblogs.com/jia694600474/p/4008116.html
Copyright © 2011-2022 走看看