指针是什么
来源:互联网 发布:长虹电视机总线数据 编辑:程序博客网 时间:2024/06/07 15:12
1.C编程语言变量
1.1 C编程语言内置变量类型
(1)基本类型(2)构造类型(3)指针类型(4)空类型
1.2 编译器如何解释变量
每一个变量都必须有类型;只有知道这个变量是什么类型的,编译器才知道如何为用户定义的变量分配内存空间,才知道如何对分配给某个变量的内存空间进行解释。指针它也不例外。指针它就是一种C编程语言中的内置变量类型。编译器为整型变量分配4个字节大小的的内存,按照整型数据的性质,可以对已分配的这块内存执行一些操作。比如赋值,取值,加减乘除等。我们可以看到,变量无非数据加在该数据上的某些操作而已。如果操作是编译器未曾定义的,那么该操作就是违法的。说道这里可能有些远了,其实不然。指针作为内置变量类型,允许程序向编译器定义某个指针变量,允许程序员对指针变量进行一些操作,比如加减。我们知道整型变量存储整型数据,字符型变量存储字符型数据,而指针呢?指针里面存储的数据有些特殊,它存储某个变量的在内存空间中的地址,即存储一个32的整数,当编译器遇到指针型变量时,就把它存储的数据解释为一个地址,到该地址去取出数据内容,而不是直接把地址取出。
如何一个指针存储了一个字符型变量的地址,那么我们就需要通知编译器,我们定义了一指针,它的数据内容是一个字符型变量的地址,即该指针指向一个字符型变量;同理,我们还可以定义其他类型的指针,比如整型、浮点型等。
不管定义了一个怎么样类型的指针,只需要牢牢记住它归根到底是一个变量,一个指针变量而已。函数指针,它是一个指针变量,它指向一个函数开始的地方;数组指针,它是一个指针,它指向一块连续的内存。
2. C编程语言变量之指针变量
2.1 一级指针
一级指针是最常用的。
(1)基本类型指针
整型指针、字符型指针、浮点型指针。这几种指针就不往下讨论了。
(2)特殊类型指针
空指针、常量指针、指针常量、数组指针、指针数组、结构体指针、联合体指针、枚举指针、函数指针。。。。还有指针指不了的地方嘛?它真是太厉害了。
有一本书,叫深度剖析C语言,里面对各种类型的指针做了详细的介绍,我就不在这儿献丑了。
2.2 二级指针
二级指针,即指向指针的指针。上面提到,指针的内容是某个变量的地址,当这个被指着的变量是一个一级指针时,那么指针就是一个二级指针了。比如定义了一个二级指针
int x=100;int **p;int *q = &x;p = &q;变量p内存储了一个变量的地址,找到这个地址,即找到变量q,但是q也是个指针,它的内容不是我们想要的,我们想要的是q指向的那个变量里的数据,即x里面的数据100。有必要提一下,p指向的是q,当有必要时,也是可以把q的内容取出来的,即x的地址。
2.3 多级指针
多级指针是个什么东东?三级指针,指向指针的指针的指针;那四级指针呢?想想就可以了。
1 0
- 指针是什么
- 指针是什么
- 指针是什么
- 指针是什么 ?
- c++中 指针是什么
- 指针到底是什么
- 二维指针是什么
- 一、指针到底是什么
- 指针存的是什么
- oc的指针是什么
- oc的指针是什么
- C语言指针学习(一) ---- 指针是什么
- c++中的智能指针是什么
- 二指针相减是什么
- linux c 内存中地址是什么,指针是什么?
- FILE *p 是什么类型的指针呢
- 2/7 第2篇----指针是什么
- C++中的this指针究竟是什么?
- NVIDIA Tesla K80:怪物般的双芯计算卡
- 微信公众平台开发教程第22篇-如何保证access_token长期有效
- MaterialDesign的Theme
- MemoryStream、StreamWriter下载
- javaWeb中的no result问题
- 指针是什么
- 如何关闭与查询Linux里边的selinux ?
- 用户管理
- 【bzoj3130】 SDOI2013费用流 最大流
- Java学习笔记3:Java编程中字符串的处理
- C++ STL 之 next_permutation 的用法(下一个序列函数,按字典序排)
- 双链表创建
- How to use Autofac IoC Container with Unity 3D?
- 后缀树的构造方法-Ukkonen详解