C语言中**k是什么意思

如题所述

1.**k是一个指针,他指向*k,而*k也是一个指针,通常我们可以用一个指针指向一个数组的开始位置,所以这里的int **k是定义一个动态二维数组
2.二维数组扩展
二维数组A[m][n],这是一个m行,n列的二维数组。设a[p][q]为A的第一个元素,即二维数组的行下标从p到m+p,列下标从q到n+q,按“行优先顺序”存储时则元素a[i][j]的地址计算为:

LOC(a[i][j]) = LOC(a[p][q]) + ((i − p) * n + (j − q)) * t

按“列优先顺序”存储时,地址计算为:

LOC(a[i][j]) = LOC(a[p][q]) + ((j − q) * m + (i − p)) * t

存放该数组至少需要的单元数为(m-p+1) * (n-q+1) * t 个字节
二维数组又称为矩阵,行列数相等的矩阵称变方阵。对称矩阵a[i][j] = a[j][i],对角矩阵:n阶方阵主对角线外都是零元素
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-03-02
k是一个指针,这句话的意思是k指向的地址中存放的变量值等于2,k=k*2;//将k乘以2并将结果赋值给k这个变量。
举例:如果a=2,k=&a,则执行*k+=2后,a=4,相当于执行了a=a+2。
k*=2等价于k=k*2;
k-=2k=k-2
k+=2k=k+2
k/=2k=k/2
k%=2k=k%2
扩展资料
C语言“->”运算符
C语言代码定义了结构体S,成员a代表0偏移,而成员b则代表2字节偏移(这里假设int变量占用2字节内存,也不考虑内存对齐)。
代码定义了结构体X,它也包含成员a,它的名字与结构体S中的成员a重复了,但是没有问题,因为它们都代表0偏移。因为结构体Y中的成员a与结构体S中的成员a重名,并且代表的字节偏移量也不相等。
第2个回答  推荐于2018-05-10

在C语言中,**k 表示一个二级指针。

一级指针*k的值为二级指针**k的地址。


可以通过如下实例来理解二级指针的含义与使用:

int a=5;  // 定义一个int类型的变量a
int *p;   // 定义一个int类型一级指针变量p
int **k;  // 定义一个int类型二级指针变量k
p = &a;   // 使一级指针p指向变量a的地址
k = &p;   // 使二级指针k指向一级指针p的地址
printf("%d", a);    // 输出10
printf("%d", *p);   // 输出10
printf("%d", **k);  // 输出10

本回答被网友采纳
第3个回答  2019-04-23

n+1中的n指的是每工作1年支付1个月工资的经济补偿。所谓的+1,是指用人单位解除劳动合同但是未提前30天书面通知劳动者时,额外支付的1个月工资。

第4个回答  2020-03-06
k
*=2
等同于
k
=
k
*
2
。例如
int k = 10;
k *= 2; /* 运算后k的值=20*/在C语言中,表达式k*=2
的运算符是
*=
,称为乘法自反赋值运算符。这个运算符的含义等同于
k=k*2
除了乘法自反赋值运算符,还有:
加法自反赋值运算符
+=
例如
k+=2
,等同于
k=k+2
减法自反赋值运算符
-=
例如
k-=2
,等同于
k=k-2
除法自反赋值运算符
/=
例如
k/=2
,等同于
k=k/2
等等
相似回答