add =(char *)wed ..这在C中意味着什么?

时间:2017-09-21 04:47:57

标签: c pointers

从scanf读取

wed

 Mat gray_image;
 cvtColor(image, gray_image, CV_BGR2GRAY);

,并将add初始化为

scanf("%x",&wed);

这意味着什么,(char *) add; add = (char *) wed;

3 个答案:

答案 0 :(得分:4)

此:

add=(char*) wed

称为投射。它暂时为此行代码转换wedchar*

现在,这个:

(char *) add;

也是演员,暂时将addchar *联系起来,然后丢弃结果。

答案 1 :(得分:0)

您将一个变量的类型更改为另一种类型。在这种情况下,您将更改为char指针。它被称为铸造。并且char指针将地址存储为char。所以在你的情况下

add=(char *) wed;

wed现在是一个char指针,它存储一个char的地址,add等于该地址

http://www.improgrammer.net/type-casting-c-language/

答案 2 :(得分:0)

这里,add是(char *)类型,这意味着它可以存储字符的地址 表示它可以存储存储地址字符的整数值。

现在,

add=(char*) wed

表示您将此整数(wed)转换为字符指针意味着它现在将指向您指定的地址处的字符。