说我们有,
typedef struct{
char* ename;
char** pname;
}Ext;
Ext ext[5];
Run Code Online (Sandbox Code Playgroud)
我想要做的是填充数据如下:
ext[0].ename="XXXX";
ext[0].pname={"A", "B", "C"}; // and so on for the rest of the array
Run Code Online (Sandbox Code Playgroud)
- 我很确定这不是正确的做法,因为我遇到了错误.请告诉我正确的方法.谢谢.
假设我们有一个函数指针:
void (*func0)(void);
Run Code Online (Sandbox Code Playgroud)
这也定义了:
void func0(void) { printf( "0\n" ); }
Run Code Online (Sandbox Code Playgroud)
但是说,在某些时候我们尝试以某种方式访问函数指针,然后如果MS VS调试器在我进入代码时显示func0实际上指向0x0000,这是什么意思?另外,还请告诉我什么是最好的解决方案?谢谢.
当我使用2个头文件执行此类操作时:headerfile_1.h和headerfile_2.h我收到错误:错误C2016:C要求struct或union至少有一个来自headerfile_1.h中struct A定义的成员
在headerfile_1.h中
#include "headerfile_2.h"
struct a;
struct a{
B bb;
}A;
Run Code Online (Sandbox Code Playgroud)
在headerfile_2.h中
typedef struct b{
void (*func0)(A *aa);
}B;
Run Code Online (Sandbox Code Playgroud)
请帮助我理解,我哪里出错了.谢谢.
假设一个块的大小是1X1,我必须沿x和y方向以1/16的步长移动.我想将0.53124舍入到最接近块的大小的1/16,即0.5625.同样地,我想将0.53124截断到最接近块大小的1/16,即0.5.有没有一种有效的方法呢?请告诉我.