ljsq.net
当前位置:首页 >> int **p和int *p有什么区别 >>

int **p和int *p有什么区别

int *p表示的是一级指针,表示p所指向的地址里面存放的是一个int类型的值。int **p表示的是二级指针,表示p所指向的地址里面存放的是一个指向int类型的指针。 一级指针存放变量的地址,指向的值是变量的内容。如int* p={1,2,3}, p=数组的首地址...

int *p=&a 其实是两个语句 等价于 int *p; p=&a; 如果a是int型,int *p=a是错误的,正确的应该是 int *p; p=&a; 在定义的时候不能给p直接赋值整型,只能赋值int型地址 即 &a; 如果要给p指针指向的地址赋值,就可以*p=a;但不能在定义*p的时候直接...

区别很大。第一个int *p = a;这是把a给一个指针,一般a是指针或数组,否则可能会造成很大错误。 int *p = &a;这是把a的地址给p,一般a可以是一个整型变量。

一个是指向字符变量的指针,一个是指向整型变量的指针,主要是做指针运算的时候有区别,前者+1相当于是加了一个字节,后者是加了四个字节

int *p是指针,指向一个int类型;int **p是指针的指针指向int *类型(理解方便,可以理解为int *类型);int (*p)[3] 是指针的指针(二维数组指针),指向一个数组,而数组内容指向一个一维含3个元素的数组,简单讲即*p指向int[3]类型,当然*(p+...

int *p[3] 是一个数组,有3个成员,其成员是指向整型的指针。 int (*P)[3]是一个指针,它指向一个有3个整型的数组。 可以用sizeof来测试两个的大校

一、意思不同 int *p和int* p后者比前者更好理解为指针。int *p;可能会被理解为一个变量,名为*p,int* p;很直观的被理解为一个指针,名为p。 二、强调类型不同 *p是一个int’这里*和p绑在了一起——这就是C的风格,这种风格强调的是语法。而一个...

int *p; 定义了一个未初始化的int类型指针, 他指向int类型数据的内存块起始位置; int 是有符号整形变量, 32位系统下是4个字节大小;

int *p[4], 是一个长度为4的指针数组,数组的元素为int*; sizeof(p) => 4*4 = 16;(32位系统一个指针4字节) 用法:*(p[0]) int (*p)[4] 是一个指向长度为4数组的指针,即int(*)[4]; 其本质是一个指针,如在32为系统上,sizeof(p) => 4 用法:(*p...

int *p[3]是定义了一个名为p的数组,里面有三个类型为int*的元素。 也就是p[0],p[1],p[2]分别存储了一个int*; 而int (*p)[3]是定义了一个指向有三个元素的int类型数组的指针,比如说 int a[3]; int (*p)[3]=&a; 那么(*p)[0]就是a[0]

网站首页 | 网站地图
All rights reserved Powered by www.ljsq.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com