c语言中的语句的意思

来源:百度知道 编辑:UC知道 时间:2024/05/17 17:39:26
ProArrayFree()函数原型是ProError ProArrayAlloc(ProArray*p_array)

ProArrayFree((ProArray*)&data->curves)是什么意思?关键是(ProArray*)&data->curves不懂,拆开来说,(ProArray*)&data是什么意思?(ProArray*)是什么意思?
我只知道int *p=&a这种意思,那个星号在指针变量前边懂,星号在ProArray后边是什么意思?还有个括号又是什么意思?然后又加了个地址符号&跟data连在一起又是什么意思?我晕死了...还有char**array这种2个星号连在一起又是什么意思呢?还有3个星号的...还有2个&&是什么意思?比如i<nlist&&errTK==PRO_TK_NO_ERROR;
谢谢了

ProArray*是定义一个ProArray类型的指针,和int*是一样的。只是平常我们写定义时,*与变量放在一起,其实正确来说应该是和某种数据类型放在一起才对。如int* p和int *p是一样的,代表定义了一个整型的指针变量p。也就是说ProArray*是指向ProArray类型的指针。(ProArray*),加了括号通常是用于强制转换类型。如float x;
int p=(int)x; 把x强制转换成整型再赋值给p;
(ProArray*)是一样的道理。
(ProArray*)&data->curves,加&是因为(ProArray*)是个指针类型,要强制转换,所以就加个&来取data->curves的地址,再强制转换成指针类型。

char**array 是二维指针,array就可以是指向一个char的类型的二维数组。三个***,一样道理,以此类推。

i<nlist&&errTK==PRO_TK_NO_ERROR;这个中的&&是代表逻辑与,如1&&1=1,0&&1=0(1为真,0为假)

这个好像是pro/e 二次开发的东西的吧

(ProArray *)&data->curves
->表明左边是一个结构或类指针
再看(ProArray *)&data
整体是一个类指针
&是取地址符,括号其实是表示强制类型转换.所以应该解释为
取data的地址并强制转换为ProArray类指针.
&&是与运算符
a&&b的结果为:a和b中有一个不为0,则为1,否则为0

两个**表示二级指针,即指针的指针.