码迷,mamicode.com
首页 > 编程语言 > 详细

10、C语言之指针

时间:2018-03-24 13:27:06      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:赋值   数据类型   编译   指针类型   含义   元素   指针   进一步   post   

指针

一、地址和指针的概念  

  在程序中定义一个变量,在编译时就会给这个变量分配一个内存单元,同时根据变量的类型决定这个内存单元的大小。

  内存中每一个字节都有一个编号,就是地址

  对每一个变量,它在内存中都有一个存储位置,这个位置就是该变量的地址,对变量值的存取是通过地址进行的。

  在C语言中,这个地址被形象化地称为“指针

  指针:一个变量的地址

  指针变量:存放另一变量地址的变量(即指针)

二、变量的指针和指向变量的指针变量

  1、定义一个指针变量

    指针变量在使用前必须定义,使其指向特定类型的变量,指针变量存放地址,必须定义为“指针类型”

  定义的一般形式:基类型 *指针变量名

    基类型:用来指定指针变量可以指向的变量的类型。

        将决定指针移动和运算时的移动量

    构成:[存储类型] 数据类型

    *:表示该变量为指针类型

  注意:

    (1)int *p1,*p2;与int *p1,p2;的区别

    (2)指针变量名为p1,p2,不是*p1,*p2;

    (3)指针变量只能指向定义时所规定类型的变量

    (4)指针变量定义后,变量值不确定,应用前必须先赋值

  2、进一步理解&与*运算

    &:取地址符  

      含义:取变量的地址

      单目运算符

      优先级:2

      结合性:自右向左

    *:指针运算符(“间接访问运算符”)

      含义:去指针所指向变量的内容

      单目运算符

      优先级:2

      结合性:自右向左

    两者的关系:互为逆运算

  3、指针变量的初始化

    一般形式:[存储类型] 数据类型 *指针名 = 初始化地址值

    eg:int i;

      int *p = &i;

三、数组与指针

  数组的指针:指数组的起始地址

  数组元素的指针:指数组元素的地址

    数组的地址-->指针变量,指针变量就指向该数组

  引用数组元素

    下标法:a[2]

    指针法:用指针变量指向所找的数组元素。占内存上,运行速度快

  

    

 

10、C语言之指针

标签:赋值   数据类型   编译   指针类型   含义   元素   指针   进一步   post   

原文地址:https://www.cnblogs.com/Long-w/p/8638456.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!