定义了void fun(const int i)与 void fun(int i) 编译出错 提示:fun(const int )已经存在。
int *f2(void){ int*ptr;//这个函数有啥问题?改成int *ptr=NULL,就没有问题了么? *ptr =10; return ptr; } int *f2(void){ int *ptr=(int *)10;//改成这样有问题么? return ptr; } [ 本帖最后由 xxldc 于 2007-9-24 17:17 编辑 ]
:em02:请教大虾们,下面两条宏定义做如何理解. 1.#define per_cpu(var, cpu) (*((void)(cpu), &per_cpu__##var)) 2.#define per_cpu(var, cpu) (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset[cpu])) 有两个问题: 1.第一条宏的返回值是什么(相比之下,第二条倒好理解,就是RELOC_HIDE的返回值)? 2.两条宏定义中的##是连接符吗? 还请大虾不吝赐教,谢谢! [ 本帖最后由 fineamy 于 2006-9-15 13:41 编辑 ]
一个低级的问题:如果函数的定义是:int checkpass(void);那么就说明调用这个函数时不用向其中传入任何参数了吧。 而(void*) a指的就是变量a的地址吧。 请问这么理解正确吗?谢谢各位的回答
情况是这样的:有一个测试USB Disk SPeed的Shell,使用的方法是调用/bin下的hdparm命令,将会自动读取USB设备,并计算其读取速度,然后Show在屏幕上,核心代码如下 [code]/bin/hdparm -t /dev/sda[/code] 由于在测试USB Disk前有许多其它测试项目,导致测试到USB时,系统长时间不响应,虽然最终会有测试结果,但是delay时间过长(5-10分钟)。 用strace跟踪上述代码发现hdparm在执行到sync()时候被阻塞(没有返回),分析...
void* alloca()中不懂的。 请看这个例子: [code]FILE *open_err_file( char *name ) { char *buffer; /* allocate temporary buffer for file name */ buffer = (char *)alloca( strlen( name ) + 5 ); if( buffer ) { FILE *fp; sprintf( buffer, "%s.err", name ); fp = fopen( buffer, "w" ); return fp; } return (FILE *)NULL; } int main( void ) { FILE *fp...
不要它行吗?对程序有什么影响?嘿嘿~~这个问题是不是太傻了, 答案好象是: fn(void)代表无参数 fn()代表不限参数个数 是这样吗? help me !! thanks !!
1: printf("abc"); 2: int i = printf("abc"); 3: (void)printf("abc"); 对于1,2两种情况,毫无疑问有个int型变量生成了,值是3(调用成功的话),不管你要不要。 那第3种情况呢?疑惑有二: 一。函数调用应该不符合词法的规范吧,就是说没有优先级结合性之类的东西。对吗?(就是说函数调用不是运算符,当然如果是运算符,也不需要void(即使合法,也没有意义)) 二。如果一成立,那么这个int型,值为3的变量到底有没有生成? 是...
刚才在看C与C++之争的那个帖子,有一位朋友指出一个问题,认为这是C不严谨的地方
[code]
#include