C语言中,int *p=0,p
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/31 12:12:26
p+=2就是p=p+2的意思,
*q=a+9,就是定义一个指针,指向数组最后的那个地址
**可以认为是二维数组因为*p可以指向一个指针,这个指针可以是一个数组的头指针.也可以是一个字符串数组,那么*p就是一个字符串,但事实上字符串数组和二维数组实际上是一样的再问:�ǵڶ���*��ʲô�
inta[2][3],*p[3];分析:对于a来说,毫无疑问,a是一个二维数组,a的值指向int类型的起始地址.对于p,首先p先与'[]'结合p[3],表示p是一个数组,p再与'*'结合成'*p[3]
inta[]={0,1,2,3,4,5,6,7,8,9}:意思是a数组为包含{0,1,2,3,4,5,6,7,8,9}的整数数组,inta[]={0,1,2,3,4,5,6,7,8,9},*p=a:p
B是不是a[i]?//是a[i]Cp[i]是相当于a[i],这不是在获取元素a[i]的地址吗?为什么C也正确?//p[i]是相当于a[i]A中为什么能用用p减a?a[p-a]什么意思?//p的值就是a
指针格式除了定义之外就不用加*了,排除B,D,而A是不规范的,所以选C
要注意*的两个意思1.int*p;定义的时候,表示定义了一个变量p,p是int*型的(就是指向int型的指针)2.int*p=&x;赋值的时候,表示给变量p赋值.既然变量时p而不是*p,所以应该写为i
*(P++)=2**PP=4p=x取数组首地址的值2p++是运算后自增所以下个运算p已经指向4
看错了int x[4]={1,2,3,4};int *p;p=x;printf("%p\n",++p); &
指针本质就是存储内存地址的一个变量.所以指针可以指向某个变量在内存中存储的单元格嘛.变量去访问单元格最后也是编译器通过变量名和地址一一对应去查找的.而指针里面直接存储的就是地址,所以直接可以访问地址所
int*p;声明了一个叫做p的指针,此时p不知道指向何方(未初始化)inta=100;声明并初始化了一个整数a(=100)p=&a;让p指向a(将p设置为a的地址)(把a的地址写入p)(即初始化p为a
p[count].x首先p是一个数组,p是一个结构体或者类的数组.count叫数组下标,p[count]代表数组的第count+1个元素(注意,不是所有元素)x是结构体或者类的成员变量,在没有结构体定
这个就是看运算符优先级,++运算符最高,接着是*运算符,接着是=运算符.++是后置运算,先不管,*是对指针指向地址取内容,所以就是右边p指针指向的内容赋值到左边s指针指向的内容,这个赋值操作完成后,+
一楼说的不对第一个表示p是一个指向指针的指针.*p取得p指向的指针,&a的地址赋予该指针.第二个表示p是一个指针,&a的地址赋予p
这个是指针和变量的区别:第一个表示变量p存的是数组a的地址值,即表示指向数组a第二个表示p和数组a的第一个元素的值一样.再问:这2条语句是在同一个程序里的再答:*p=a[0]在定义里面出现就和p=a[
给你一个图解吧,希望你能采纳.
1.*p=&a等价于int*p;p=&a;也就是该指针是个2维指针,是指向了另一个指针的地址后再让那个指针指向a的地址指针变量前面的"*".表示该变量的类型为指针变量.2.p=&a把变量a的地址赋给p
表示指向指针的指针,inta=1;int*p=&a;//p指向aint**pp=&p;//pp指向p