为您找到"

数组问题 int a[5],*p;p=a;p=&a[0];p=&a;都是什么含义

"相关结果约100,000,000个

数组问题 int a[5],*p;p=a;p=&a[0];p=&a;都是什么含义

int a[5];//a是指针常量,表示的是数组首元素的地址,即a=&a[0]。int *p=a;p=&a[0];//因为a=a[0],所以p=a 和p=&a[0]是等价的。p=&a//int *p,p是一个指向int类型的指针,而&a表示的是指向整个数组的指针(取一个数组名得地址所产生的是一个指向数组的指针)。p是int类型的...

main() {int a[5]={2,4,6,8,10},*p,**k; p=a; k=&p; printf("%d",*(p...

int a[5]={2,4,6,8,10},*p,**k;p=a;//p指向a数组,p保存了a数组的首地址。a[0]是数组的首元素,所以*p的值就是a[0]的值。k=&p;//k指针指向p,k保存了p的地址。(k可以成为指针的指针)printf("%d",*(p++));//表达式“*(p++)”整体的值相当于*p的值,就是a[0]的值。

C语言中的指针问题到底是怎么回事~

int a=12; int b; int *p; int **ptr; p=&a;//&a的结果是一个指针,类型是int*,指向的类型是int,指向的地址是a的地址。 *p=24;//*p的结果,在这里它的类型是int,它所占用的地址是p所指向的地址,显然,*p就是变量a。ptr=&p;//&p的结果是个指针,该指针的类型是p的类型加个*,在这里是int**。

C语言指针**p是什么意思

p表示p也表示地址,简单的说,这个地址对应的存储单元存储的数也是一个地址,而不是数值,而这个被存储的地址对应的存储单元存储的数据才是真正的相应类型的数值!例如:int i=10; //定义了一个整型变量 int *p=&i; //定义了一个指针指向这个变量 int **p1=&p; //定义了一个二级指针指向p指针...

话说话说 int * amp;p 和int *p 有什么区别

int a[10];int *p=a; //与前面定义的数组名a类型相同,才可以这样赋值。int a;int *p=&a; //前面定义的a是普通变量,才可以这样赋值。

int a[10 ],*p=a, 和 *p=&a 分不清了

int* p2 = &a[0]; // 这两个相同,p1 p2都指向数组第一个元素// 但是 &a 的意思就完全不同了!它是对数组名取地址,得到的是一个指针,这个指针// 指向的是一个数组!

int a[5]={1,2,3,4,5}; int * ptr=(int *)(&a+1); 那个&a+1是哪个的...

int a[5];一个带有5个int空间的数组a &a 是指变量a的地址 &a + 1 表示的是 跳过一个“a[5]"大小的空间后的地址,即:a[5]的最后一个元素的后面

int *ptr=(int *)(&a+1)

sizeof(a)=20, 此时a的类型为int[5]数组。sizeof(*a)=4,因为有取值符*,表示把a当成一个指针(int*),而a指向数组的首地址,即a=&(a[0]),即sizeof(*a)=sizeof(*&(a[0]))=sizeof(a[0])=sizeof(int)=4。(a+1)中把a当成一个指针,a+1=a+sizeof(int),a+1指向a的下一...

c语言数组的定义

int a;float a[10];是错误的。4、方括号中常量表达式表示数组元素的个数,如a[5]表示数组a有5个元素。但是其下标从0开始计算。因此5个元素分别为a[0], a[1], a[2], a[3], a[4]。5、不能在方括号中用变量来表示元素的个数,但是可以是符号常数或常量表达式。例如:define FD 5 // ...

请问int (*p)[3];是什么意思?

int(*)[3]这个东西是指向类型为int[3]的指针,也就是说是指向一个长度为3的整型数组的指针。比如:int a[5][3]; // 一个二维数组,第一维长度为5,元素类型为int[3]int (&r)[3] = a[2]; // 一个类型为int[3]的引用,指向a中的第三个元素 int (*p)[3] = &r; // 指针...
1 2 3 4 5 6 7 8 9

相关搜索