具有相同类型的指针变量P和数组变量Y
来源:学生作业帮助网 编辑:作业帮 时间:2024/09/20 12:33:00
指向数组的指针其实是指向指针的指针,而指向数组的元素的指针只是单纯的指向数组元素的类型的指针.数组名和指针变量名有何区别?答:数组名是常指针,指针变量是变量,顾名思义常指针不能够改变其值,而变量则不同
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
C,两个指针相加是没有意义
不能正常执行的是C.p2是一个指针型变量,k是一个整型变量,不能把一个整型变量赋给一个指针,而只能把k的地址值赋给p2,即p2=&k.
(*q)[3]和*p[3]的区别!q和p的区别在于q是一个(指针)变量p是一个数组q是一个指针,不知道你学了没,不过指针指向的变量类型特别,是一个含有三个元素的一维数组p这样来理解p是一个含有三个元素
你好,完成以上功能的代码如下根据你要求的malloc我觉得应该是用C语言来做吧!如果我理解错了,请指正!#include<stdio.h>#include<stdlib.h>i
两个指针相加,没有意义.就好像宾馆房号一样,两个房号相加,没有意义,但房号可以加上一个整数,你住在601房间,我的房间标号比你的大5.
不一定,可以进行强制转换,指针变量中保存的是地址而非数值,也就是说,当你定义一个字节的变量bytea=1,然后定义一个字节的别的类型的变量bool*b;这样*b=&a,当读取b的时候,实际上是a的地址
#defineNULL(void*)0因为NULL是(void*)类型,而任何指针都可以(显性或隐性地)转化成(void*),这使得比较成为可能.int(*p)(int);//函数指针,可以用来指向任
首先(*p)[3]是一个指针数组,意思就是p这个指针是指向一个含有3个元素的数组的,那么p指针每一次加1就相当于把p中存的地址加6(前提是int类型占2个字节,在VC中是占4个字节).举个例子:int
这是C语言的语法要求,因为不同类型的指针,在作+-运算时,它的步长是不一样的.
类型相同的两个指针变量不能进行加法运算,但能进行减法运算.还能用‘’、‘==’这三个运算符进行比较,主要用于判断指针指向数组元素的先后位置.
D不对.&a的类型是指向int[2]的指针,即int(*)[2],不是int*,会有编译错误.
指针类型是说指针只能指向的变量类型,存储指针的空间是只能4字节的整型了
1.p的定义:int*p=a;//指针p指向数组a的起始地址;2.你可以把a怎么是指向行的?,a是一个一维数组,不是二维数组.你可以理解为a是指向数组的首地址就可以了,a就指向数组的第一个元素a[0]
uint*p[4];p[0]=&a;p[1]=&b;p[2]=&c;p[3]=&d;再问:谢谢,现在指针定义的是1字节长度,这里面如果a,b是16位长度,c,d是8位长度,又该怎样定义再答:按变量的类
指针的保存的内容是变量的地址,而其它类型变量的内容是数据.如:int*a;intb;char*c;chard;a和c是指针变量.b和d是变量.a指向的变量的类型为int,c指向的变量的类型为char.
有种用法就是用数组开头指针(比如p=&(a[0]))来代表数组中元素的.比如*p就是指向a[0],*(p+1)就是指向a[1],等等.那么a[4]的指针就是*(p+4)这样就可以理解了吧?p2=p+4