由于某些原因,我无法访问procNames.count。我只需要增加计数器。我不知道为什么。有人看到问题了吗?
struct config_line {
char name[MAX_WORD];
int time;
};
struct config {
struct config_line *lines;
int count;
};
//global variable
struct config configData;
// allocate memory to procNames
procNames = malloc(sizeof(struct config));
if ( procNames == NULL ) {
printf("problem allocating memory, for procNames. int procnanny(void)");
return 0;
}
//local variable
struct config *procNames;
procNames = &configData;
// the problem
procNames.count++;
最佳答案
使用:
procNames->count++;
procNames
是指针,因此您需要使用它或长卷:(*procNames).count++;
只有当LHS上的值是一个结构时,才能使用
.
运算符。当有指向结构的指针时,必须使用->
或取消对指针的引用,然后应用.
运算符,该运算符需要括号和*
,因为.
绑定得比一元(取消引用)更紧。