[英]What does *it in this C code mean?
我需要一些帮助来理解以下C代码:
可以说我的结构如下:
typedef struct
{
char *letter;
int dataSize;
int Number;
}Page;
然后 :
我在同一行的下一行中,假设x是一个定义的变量:
Page *window[x], *it = 0 ;
我想知道它在做什么。
*
表示“指针”。 如果您正在编写C代码,则应该知道这一点。 否则,您确实需要获得一些基本的教程或入门文本。
在您的代码中,struct字段表示letter
的类型为char *
,即它是指向字符数据的指针。
第二个意味着window
是类型为Page *
的x
值的数组,并且it
也是类型为Page *
。
在同一行上声明多个变量时,请注意*
在语法上是变量名的一部分,而不是类型。
所以int a, *b;
有效,并声明一个整数a
和一个指向整数b
指针。
您正在创建2个指针。 您可以将行拆分为:
Page *window[x]; // = 0; //you should set it to 0 (or NULL) to prevent nasty bugs.
Page *it = 0;
*it
是NULL
初始化的指向Page
对象的指针。
Page *window[x], *it = 0 ;
是相同的
Page *window[x];
Page *it = 0 ;
所以它是指向初始化为0的Page结构的指针
它是指向Page类型的结构的指针。 它等效于:
Page *window[x];
Page *it = 0;
它是指向变量的指针,它保存从其开始的物理内存地址
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.