相同基类型的指针变量和数组变量
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/10 19:12:39
charc=*s[n];n为元素标号
指向数组的指针其实是指向指针的指针,而指向数组的元素的指针只是单纯的指向数组元素的类型的指针.数组名和指针变量名有何区别?答:数组名是常指针,指针变量是变量,顾名思义常指针不能够改变其值,而变量则不同
#includeintmain(void){inti,a[10]={1,9,2,7,5,8,6,4,0,3},*max,*min;max=min=a;for(i=1;i
p=a[i]表格将a数组中的某个变量给p
两个指针变量指向同一个数组的元素,则该变量的值相等.如:int*p1;int*p2;p1=&a[i];p2=&a[i];则p1-p2=0如果对p1赋值为1;对p2赋值为4;即p1=1;p2=4;则p2
intx;int*pb;//将整型变量x的地址赋值给bb=&x;//*pb就相当于一个整型变量,本质下面语句是整型变量赋值//但是由于pb是指针,意思就是将pb指向的那个整型值,赋值//为另一个整型值
C,两个指针相加是没有意义
指针变量:int*pi指向的对象是常量的指针constint*pi:*pi是不可以改变的,*pi=2之类的对于*pi的操作都是不可取的,但是可以改变pi指向的地址,即可以改变指针指向的地址,但是不可以
不能正常执行的是C.p2是一个指针型变量,k是一个整型变量,不能把一个整型变量赋给一个指针,而只能把k的地址值赋给p2,即p2=&k.
两个指针相加,没有意义.就好像宾馆房号一样,两个房号相加,没有意义,但房号可以加上一个整数,你住在601房间,我的房间标号比你的大5.
不一定,可以进行强制转换,指针变量中保存的是地址而非数值,也就是说,当你定义一个字节的变量bytea=1,然后定义一个字节的别的类型的变量bool*b;这样*b=&a,当读取b的时候,实际上是a的地址
#defineNULL(void*)0因为NULL是(void*)类型,而任何指针都可以(显性或隐性地)转化成(void*),这使得比较成为可能.int(*p)(int);//函数指针,可以用来指向任
这是C语言的语法要求,因为不同类型的指针,在作+-运算时,它的步长是不一样的.
C++程序:#include"iostream.h"voidmain(){doublex1=5.0;doublex2;double*fPtr;//(1)fPtr=&x1;//(2)cout
类型相同的两个指针变量不能进行加法运算,但能进行减法运算.还能用‘’、‘==’这三个运算符进行比较,主要用于判断指针指向数组元素的先后位置.
填“数据类型”,“数据类型”规定了指针变量所指向的数据类型
D不对.&a的类型是指向int[2]的指针,即int(*)[2],不是int*,会有编译错误.
指针类型是说指针只能指向的变量类型,存储指针的空间是只能4字节的整型了
指针的保存的内容是变量的地址,而其它类型变量的内容是数据.如:int*a;intb;char*c;chard;a和c是指针变量.b和d是变量.a指向的变量的类型为int,c指向的变量的类型为char.
答案是:B为什么是变量的地址,举例来说明:int*p(先不管p指向的空间);其中p是指针,p的指针类型是int*,int*是什么类型,就是指针类型,理解是很生涩,看后面;指向的类型是int,这个应该很