
如下的结构定义: struct XXX{ char src1[10]; char src2[10]; }; struct XXX x = { "abcd", "efghijk", }; 并定义了如下函数: void func(char *dst, struct XXX s) //struct XXX*s的话现象一样 { strcpy(dst, s.src1); } main()中调用这个函数 func(dst, x); 结果,无法将x.a复制到dst中,dst保持原值不变 请问这是怎么回事啊?
[code] char func(struct compABC *ABC) { ABC->menber1 = 12; ABC->menber2 = 34; } char func(struct compABC *ABC) { *ABC->menber1 = 12; *ABC->menber2 = 34; } char func(struct compABC *ABC) { *ABC.menber1 = 12; *ABC.menber2 = 34; } [/code] 请教哪�中捶ㄊ嵌缘模孔约喊炎约焊拍罡阍瘟恕!!4蠛挂话选!!!�:em06: [ 本帖最后由 Sworder 于 2007-4-19 15:19 编辑 ]
本帖最后由 canigreen 于 2012-04-26 11:59 编辑
[code]#include
本帖最后由 caohui8666 于 2011-01-30 18:31 编辑 先用例子说明我想问的问题: typedef struct{ int aaa; int bbb; int ccc; }test_stu; int _fun(test_stu *_test, char *_str) { /*从结构体_test中得到编码名称为_str的成员的取值*/ return 0; } int main() { test_stu test; memset(&test, 0, sizeof(test_stu )); test.aaa = 111; test.bbb = 222; test.ccc = 333; int ...
[code]class AA { public: struct SS { char s1[10]; char s2[10]; }; bool getValue(int i,struct SS *ss1); } bool AA::getValue(int i,struct SS *ss1) { ... return true; }[/code] 问题:为什么编译时出如下错误? overloaded member function 'bool (int,struct AA::getValue *)' not found in 'AA' 如何使用结构做函数参数???谁能指点指点???
DIR * dp; struct dirent * entry; dp = opendir("/root"); entry = readdir(dp); 我的理解是,readdir把内部定义的局部结构体变量的地址返回回来了,函数退后局部变量在栈上的空间都收回了不是么,可为什么还能继续操作呢? 类似 readdir() 这种返回结构体地址的指针的函数是怎么实现的呢?
STRUCT结构体中把MAP容器作为1个元素的实例,下面为结构体定义:
struct record
{
map
[code]pthread_mutex_t mutex; struct TEST { char str[10]; int num; }; void dispatch_threadpool_to_me(void *arg) { pthread_mutex_lock( &mutex ); TEST test; /*为传入的结构体变量复制一个副本*/ memcpy( &test, ( TEST* )arg, sizeof( TEST ) ); pthread_mutex_unlock( &mutex ); sleep(4); printf( "%s,%d\n", test.str, test.num ); } int main(int argc, char **argv) { thr...