python有一级指针和二级指针的概念吗

//在堆中开辟一个4×5的二维int数组
//在堆中开辟一个3×4×5的3维int数组
//在堆中开辟一个2×3×4×5的4维int数组

一级指针的组成有三个部分分別是指向的数据类型关键词 星号* 指针名字

int代表指针p指向的数据类型是int型,*代表这是一个指针变量

(1)指针变量存储的内容是指向的变量嘚地址

(2)在使用sizeof判断指针的字节数时,在32位机器上为4个字节在64位机器上为了兼容,仍然是四个字节大小

(3)//小知识点不同类型的指針除了指向的变量数据类型不同外,其解引用的权限也不同使用位运算符时要注意。如下

char*指针只能改变一个字节的值所以结果会不同

②级指针是一个指向指针的指针如int **p;

int*  * p 前面的第二个*指的是该变量是指针,前面的代表指向的变量数据类型int*画图表示为

3.指针数组与数组指针

在c語言中指针和数组有很大的关系在C专家编程这本书上也讨论过这个问题


由于[]的优先级高于*,所以p1先于[10]结合成为数组数组的元素类型为int* ;
指针数组是数组, 数组的每个元素都是指针;
由于()的优先级高于[]所以p先和*结合,说明p是一个指针变量指向一个大小为10的整型数组 ;
指针数组是指针, 能够指向一个数组;

在计算机科学中指针(Pointer)是编程语言中的一个对象,利用地址它的值直接指向(points to)存在电脑存储器中另外一个地方的值。由于通过地址能够找到所需变量单元可以說,地址指向该变量单元因此,将地中海形象化的称为“指针”意思是通过它能找到以它为地址的内存单元。

指针是一个变量存在內存单元的地址。(编号)
指针又分为一级指针和二级指针
一级指针主要是用来存放变量(不同类型的变量需要用不用类型的指针来接受)的地址,在函数调用时形参只是实参的一份临时拷贝。
这个时候我们要做的就是在调用函数传参数时,要传“址”而不是传值。将需要改变变量的地址传给参数因为变量的地址时不变的,这个时候在函数内部只需要访问变量地址就能达到在函数内部更改实参的方式

//函数传值形参只是实参的一份临时拷贝,main函数中变量不会改变 //函数传址利用指针的解引用操作改变变量的值

二级指针主要时用来存放一级地址,可用在函数中保存一级指针

//函数传一级指针地址 //函数传指针数组地址

我要回帖

 

随机推荐