若实参为a[1][2],形参为(*b)[2],则b[1]、(*b)[1]、*(b+1)分别是什么意思呢?
来源:学生作业帮 编辑:神马作文网作业帮 分类:数学作业 时间:2024/11/11 12:15:52
若实参为a[1][2],形参为(*b)[2],则b[1]、(*b)[1]、*(b+1)分别是什么意思呢?
首先需要解释一下(*b)[2]的意思.
假设数据类型为int,则 int (*b)[2]的意思为,声明一个指向两个长度的整形数组的指针.
int a[2][2] = { {1,2},{3,4} }; \\我认为数组a应该是a[2][2],否则访问b[1]等会越界.
则将a[2][2]传入方法:
void fun(int (*b)[2])
{
...
}
b[0],为一个长度为2的数组,指向数据1,2,&b[0]的值为数据1的地址;
b[1],为一个长度为2的数组,代表指向数据3,4,&b[1]的值为数据3的地址;
(*b)[1]:首先看(*b)是将b解引用,我们得到一个长度为2的数组,数据为1和2,然后看(*b)[1]即访问下标为1的元素,即2;
*(b+1),由指针的特性我们知道,*(b+1)其实这等价于b[1].
假设数据类型为int,则 int (*b)[2]的意思为,声明一个指向两个长度的整形数组的指针.
int a[2][2] = { {1,2},{3,4} }; \\我认为数组a应该是a[2][2],否则访问b[1]等会越界.
则将a[2][2]传入方法:
void fun(int (*b)[2])
{
...
}
b[0],为一个长度为2的数组,指向数据1,2,&b[0]的值为数据1的地址;
b[1],为一个长度为2的数组,代表指向数据3,4,&b[1]的值为数据3的地址;
(*b)[1]:首先看(*b)是将b解引用,我们得到一个长度为2的数组,数据为1和2,然后看(*b)[1]即访问下标为1的元素,即2;
*(b+1),由指针的特性我们知道,*(b+1)其实这等价于b[1].
下列函数调用语句含有实参的个数为:func((x1,x2),(x3,x4,x5)); A) 1 B) 2 C) 4 D)
函数调用语句:fun((a,b),(c,d,e));实参个数为几个,分别是?
若a+b=1,ab=-2,则a/b+b/a的值为
若2/a-2/b=1/a+b,则b/a+a/b的值为?
设k、a、b为正整数,k被a、b整除所得的商分别为m,m+116,(1)若a、b互质,证明a-b与a、b互质(2)当a、
3A 3B 1A 1B 2A 2B分别是什么意思?
A=B+B+B+B+B+B+B+B+B+B+B+B+B+B+B A-B×3=C C+2×7+2=1
若2a+3b-1>3a+2b,则a,b的大小关系为( )
若a,b为正数,a+b+1=ab.则3a+2b的最小值为?
19.a^2>b>a>1,则logb b/a,loga b从小到大依次为?
C语言中,已知int b=2;则下列表达式值为1的是( ) A.b>1 B.b>b C.b
向量a,b的坐标分别为(1,-1),(2,3),则a•b=( )