相关疑难解决方法(0)

300
推荐指数
8
解决办法
20万
查看次数

结构中的结构数组 - 指针类型是什么?

我在由perl脚本生成的文件中有以下声明(在编译期间):

 struct _gamedata
{

 short res_count;
 struct
 {
  void * resptr;
  short id;
  short type;
 } res_table[3];
}
_gamecoderes =
{
 3,
 {
  { &char_resource_ID_RES_welcome_object_ID,1002, 1001 },
  { &blah_resource_ID_RES_another_object_ID,1004, 1003 },
{ &char_resource_ID_RES_someting_object_ID,8019, 1001 },
 }
};
Run Code Online (Sandbox Code Playgroud)

我的问题是struct _gamedata在编译期间生成,并且项目的数量res_table会有所不同.所以我不能提供一种res_table预先声明尺寸的类型.

我需要解析这个结构的一个实例,最初我是通过一个指向char的指针(并没有定义struct _gamedata为一个类型.)但我正在定义res_table.

例如

char * pb = (char *)_gamecoderes; 
                           // i.e. pb points to the instance of `struct _gamedata`.
short res_count = (short *)pb;
pb+=2;
res_table * entry = (res_table *)pb; …
Run Code Online (Sandbox Code Playgroud)

c c++

4
推荐指数
1
解决办法
345
查看次数

C++箭头运算符equivelence

帖子我可以使用什么而不是箭头操作符,` - >`?箭头操作员-在C(>)的使用 状态

以下两个表达式是等效的:

x->y
(*x).y
Run Code Online (Sandbox Code Playgroud)

但是,当作为数学等价时,这似乎并不总是正确的.

为什么g ++在替换时会抛出错误

a->b->c
Run Code Online (Sandbox Code Playgroud)

a->(*b).c
Run Code Online (Sandbox Code Playgroud)

看来上述等价并不总是可以替换的.因此,我认为"等同"一词有点误导.

另外,我不是指这个问题中的任何超载.

c++ pointers

4
推荐指数
2
解决办法
401
查看次数

" - >"和"."之间的区别.在C.

可能重复:C中的
箭头运算符( - >)用法

我想弄清楚"."之间的区别.和" - >"C语言中的数据访问风格.例如.

struct div{
    int quo;
    int rem;
};
Run Code Online (Sandbox Code Playgroud)

1)使用" - >"

struct div *d = malloc(sizeof(struct div));
d->quo = 8/3;
d->rem = 8%3;
printf("Answer:\n\t Quotient = %d\n\t Remainder = %d\n-----------\n",d->quo,d->rem);
Run Code Online (Sandbox Code Playgroud)

2)使用"."

struct div d;
d.quo = 8/3;
d.rem = 8%3;
printf("Answer:\n\t Quotient = %d\n\t Remainder = %d\n-----------\n",d.quo,d.rem);
Run Code Online (Sandbox Code Playgroud)

我得到两个案件的相同输出.

答案:商数= 2剩余= 2

这两种方法如何在内部运作?什么时候应该使用哪一个?我尝试在互联网上搜索但没有多大帮助.任何相关链接也表示赞赏.

他们在内存中的存储也有什么区别吗?

c

4
推荐指数
2
解决办法
1807
查看次数

什么是 - >运算符在-copyWithZone中执行:?

可能重复:
C 点(".")运算符中的箭头运算符( - >)用法
和箭头(" - >")运算符用于C与Objective-C

我是一个新手,看着2008年最新更新的免费软件/开源程序,我不承认->以下符号:

- (id)copyWithZone:(NSZone *)zone
{
  GFIPGeniusItem * newItem = [[[self class] allocWithZone:zone] init];
  newItem->_stringValue = [_stringValue copy];
  newItem->_imageURL = [_imageURL copy];
  newItem->_webResourceURL = [_webResourceURL copy];
  newItem->_speakableStringValue = [_speakableStringValue copy];
  newItem->_soundURL = [_soundURL copy];
  return newItem;
}
Run Code Online (Sandbox Code Playgroud)

我假设它允许某种捷径,但我特别喜欢它的功能.

objective-c ios

1
推荐指数
1
解决办法
612
查看次数

C++运算符 - >复数的情况

问题是实现Cplx具有两个双精度的类,xy表示复数的实部和虚部.
其中一个子任务是实现operator ->以下描述:

(z­->rez­->im):访问z(你必须实现改变之类z->re = 5)的实部和虚部.

我遇到麻烦operator ->我从来没有真正理解它是如何工作的所以我的问题是:如何->工作以及何时使用它以及如何在这个问题中应用这个想法.

c++ class operator-overloading complex-numbers

1
推荐指数
1
解决办法
60
查看次数

C中的这个运算符( - >)是什么?

可能重复:C中的
箭头运算符( - >)用法

据我所知,只有C++可以使用类(obj->某些东西)但是我在很多C应用程序中看到过这个运算符.

还有一个小问题.通常一个人使用C中的结构,如下所示:

structname.somevariable
Run Code Online (Sandbox Code Playgroud)

但是,我看到他们使用像:

structname.something1.something2
Run Code Online (Sandbox Code Playgroud)

它与关键字union有关吗?

c operators

-1
推荐指数
2
解决办法
7550
查看次数

"" 或" - >"C struct accessor

"."之间有什么区别?访问C结构中的数据时," - >"?我几次尝试都找不到任何区别.两者都为我提供了对欲望数据的访问

c struct accessor operators

-28
推荐指数
1
解决办法
435
查看次数