c语言中的*和**是什么意思?

作者&投稿:韦松 (若有异议请与网页底部的电邮联系)
~ 声明 int a[3][4];
那么语句中 a,*a,**a分别代表什么呢?
a 代表 数组的首地址。
*a 代表 &a[0][0] 的地址。
**a 代表 a[0][0] 的 值。
----------
c 语言 语句中 方括号 不是标点符号,而是 运算符!
关于 方括号 的 恒等式:
a[j][i] = (a[j])[i] = ( *(a+j))[i] = * ( *(a+j) + i)
我们把 j=0,i=0 代入 就可看出 **a 代表 a[0][0] 的 值。

a[0][0] 的 地址 是 &a[0][0] 或 &( **a) , 一个&和一个* 运算可以抵消, &( **a) = *a
所以 &a[0][0] 等于 *a

a 是首地址,易理解,从略。
------------------------------
#include <stdio.h>
int main(){
int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
printf("%d %d\n", a , &a[0][0]);
printf("%d %d\n", *a , &a[0][0]);
printf("%d %d\n", **a , a[0][0]);
}
对比打印结果,你会加对 **a, *a 的 理解。
希望能解决您的问题。

c语言中的*是什么意思
答:在C语言中有多种含意:1.在声明时表示变量是一个指针 2.在算术表达式中表示乘号 3.在执行语句中出现在指针变量前面时表示间接引用(取指针指向的地址保存的值)4.用在scanf()函数中,表示赋值约束 5.用在printf()函数中,表示对应变量输出的列宽和精度在后面的变量列表中指定 6.表示一个字符 ...

...什么意思,例如:max=*std或者 void fun (int*a,*b)是什么意思...
答:c语言里的*有多种功能。第一种,*表示乘法运算符。max = * std里的*就是乘法运算符,max=*std是一种简略写法,它等价于max = max * std。不过max = *std这种写法,程序运算速度会快一些,所以经常这样写。第二种,*表示一种数据类型,即指针类型。void fun(int* a, int* b)即表示fun函数...

C语言中char**是什么意思? 和char*有什么区别呀
答:;等同于int main(int argc,char*argv[])等同于int main(int argc,string argv)(C语言中并不直接包含字符串类型,此处便于理解,所以使用string类型)char是字符变量的说明符 字符变量的取值是字符常量,即单个字符。字符变量的类型说明符是char。字符变量类型说明的格式和书写规则都与整型变量相同。

C语言中**是什么意思
答:表示指针的指向地址的数据 相应的,**a表示该指针a指向的地址还是个指针,表示为b的话,a=*b,也就是b指针指向地址的数据

c语言*什么意思
答:c语言*什么意思:乘法 3*5;定义指针变量 int * p;//定义了一个名字叫p的变量,能够存放int数据类型的地址;指针运算符,//如果p是一个已经定义好的指针变量,则*p表示以p的内容为地址的变量。第三种含义不是那么好理解:比如a的地址假设是1000,值(内容)是5,p的地址假设是2000,值(内容)...

c语言中在变量前面加*表示什么?如*p
答:int *p;//定义一个指向int类型地址的指针变量。int a = 5;//定义一个整型变量a,给变量a赋值为5。p=&a;//将指向变量p指向一个整型变量的地址a(&是取地址运算符)。printf("%d",*p);//打印指针p指向的内容,注意这里的"*"和第一行定义时或所用的"*"含义不同,这里的“*”是取出指针...

C语言中两个*是什么意思?比如int**p
答:2 个*号,声明指向指针的指针。它的意思是“它是一个整数,这个整数指向某个内存地址,一次访问sizeof(int)长度,其值是一个整数,那个整数值指向某个内存地址,一次访问sizeof(BTree)长度。指针可以指向一份普通类型的数据,例如 int、double、char 等,也可以指向一份指针类型的数据,例如 int *、...

c语言中, char **p 两个*代表什么意思,正常指针不该是一个*么
答:在定义变量的时候,两个**表示这也是一个指针变量,但里面存储的地址必须是另一个指针变量的内存地址(而另一个指针变量当中存储的才是你定义的那个类型(如char)的成员的内存地址)这个层次结构如下:int a=0;int *b=&a;int **c=&b;这样你应该就明白了 另外,在C语言中,char*表示字符串 (字符...

C语言中*p和**p有何区别
答:一、表示的东西不同 p表示p代表相应数据类型在存储单元中存储的首地址,而这个存储单元存储的是相应类型数据的数值。p表示p也表示地址,简单的说,这个地址对应的存储单元存储的数也是一个地址,而不是数值,而这个被存储的地址对应的存储单元存储的数据才是真正的相应类型的数值。二、基类型不同 例如int...

c语言中*和+有什么区别?
答:表示乘号,且不可省略,数学上有的时候乘号可以省略,但是C程序中不能省略,如数学上表示a和b相乘,可以写成ab,但是在C程序中必须写成a*b,*必须要有。另外语句后有分号;所有符号都是英文半角符号。比如:使用公式c=2πr计算圆的周长。该语句应写为:c=2*3.14*r;...