它的类型为数组类型,(int*)(&a+1)将其强制转换成整型指针赋值给*ptr,并指向了数组界外,最后用*(ptr-1)又指向了界内的最后一个元素5。假如:int a[8] = {1,2,3,4,5,6,7,8};int *ptr = (int*)(&a+1);printf("%d %d" , *(a+1), *(ptr-1) );结果就是2 8 ...
值为2.p=a;语句之后,p指向的是数组a的第0个元素,也就是a[0];(*++p)++表达式:根据运算符优先级,先计算括号内内容,++p,首先自增p,此时p指向第1个元素,即指向a[1];然后通过*得到a[1];后置++不立即改变a[1]的值(值为2),而在此表达式之后a[1]值为3。求采纳为满意回答。
二、含义不同:int*p[4]是指针的数组,也就是说它是一个数组,数组里存的是一个个的指针。int(*p)[4]是数组的指针,也就是说它shu是一个指针,指向的是一个数组。三、写法不同:一般用于向函数传递二维数组的时候使用这种类型,这时还有一种更直观的写法:void matrix_sum(int matrix_a[][4...
1. P/A(现值系数):在财务管理中,P/A用于计算在一定利率和时期内,定期支付一系列等额款项(年金)的现值。例如,如果年利率为10%,每年需要支付1万元,那么在第一年末需要存入多少金额,才能在接下来的10年内每年获得1万元的收益。2. P/F(单利现值系数):P/F用于计算在单利情况下,未来某一...
4 、&还有“联合”的意思。比如“A&B”公司,就是“A”和“B”两间公司合并起来的。5 、在某些电脑语言,如java中,表示按位进行“与”运算。6、 英文拼写:ampersand 7、 高级语言中的取地址符,如:“int a=0;int *p;p=&a;”,意为取变量a的地址给指针p。8、C语言中两个&&表示“与...
二、含义不同:第二个就是这个指针所指的值是一个大小为5个int的数组的首地址。p+1(数组地址+1)代表内存地址下移了5个单位。三、使用不同:int (*p)[5];int a[10][5];p=&a[1]; // 现在(*p)就等于a[1] 所以 a[1][2]可以表示为(*p)[2]...
int *a=b是说把b的值赋值给指针a(*a), int*a=&b是说让指针a(*a)指向b的地址。 举个例子说: int b=5,c=9 int *a1=b;---1 int *a2=&b;___2 b=c;---3 这个时候*a1=5,*a2=9 。因为在说第一步时已经把b的值,也就是5传给*a1,所以*a1=5 。在第二步时,把b...
【答案】:D D。【解析】数组和指针的关系非常密切,因为数组名称单独使用是表示数组的首地址。故可用的表示可能是a[i],p[i],*(P+i),同样&(a[i])表示地址,因此*(&a[i])等同于a[i]。本题答案为D。
“&”精确的说不是”and“的缩写,是代表符号。“&”最早发现于古罗马时期,当时是E和T两个字母的。随着时间的迁移,这两个字母越写越靠近也越写越圆润,流畅,变成了一个符号。因此变成了象&一样的一个符号。【基本释义】1、和,与,及, in addition to, plus。2、那么,则 as a result of...
和*(p++)意思一样;在(*p)++中,由于()的优先级比*和++都高,所以++作用在()内的表达式*p上。比如有:int x,y,a[]={1,2,3,4,5},*p=a,*q=a;x=*p++;//执行这一句后x=a[0]=1,p=a+1 y=(*q)++;//执行这一句后,y=a[0]+1=2,q仍然=a ...