ChinaUnix.net
相关文章推荐:

打印指针的地址

根据这个帖子:“对于C语言中指针和数组的认识和看法,欢迎讨论”http://bbs.chinaunix.net/thread-960717-1-1.html 调试了一个小程序: [code]#include void main() { int a[3][5]; printf("%d\n",sizeof(&a)); }[/code] 输出结果是60,而不是4 ???? 运行环境是VC6.0

by kewenliang - C/C++ - 2008-07-24 18:51:03 阅读(1718) 回复(13)

相关讨论

问题: 例如: char *buf = new char[1000]; 那么 buf是其地址呢,还是&buf为其地址? 谢谢指点

by JustUSTC - C/C++ - 2006-12-29 10:24:48 阅读(881) 回复(7)

int main() { int i=0; printf("%d\n",&i); } 怎么打印出来是个负值啊! (请问这个地方出来的值还对不) 难道有问题. 用printf("%0x\n",&i)打印出来是bffffb24

by 怪怪虎 - C/C++ - 2006-07-27 22:50:15 阅读(4574) 回复(6)

0指针(Type*)0的虚拟地址是0,(Type2*)0 == (Type*)0 关于结构体的内存布局问题,有兴趣可以探讨一下 http://blog.chinaunix.net/u1/49865/showart_1901403.html [ 本帖最后由 daxi1987 于 2009-4-20 11:37 编辑 ]

by daxi1987 - C/C++ - 2009-04-20 10:57:03 阅读(704) 回复(0)

本人在学习C过程中,遇到下面的程序输出,感到不解,请各位高手为什么输出这样的结果! main() { char *name[]={"First!","Follw me!","Great Wall","Coputer"}; char **p; p=name+1; printf("%s\n",*name); printf("%s\n",name[0]); printf("%o\n",*p); printf("%o\n",name[1]); printf("%s\n",*p); printf("%s\n",*(name+1)); printf("%s\n",name[1]); ...

by liuhongqiang200 - C/C++ - 2005-03-19 23:21:18 阅读(948) 回复(6)

又是指针 我知道烦 我也烦 ai int *p; p=1; printf( "%d\n",p ); 结果p=1 int *p; p=(int *)0x12345678; printf( "%d\n",p ); 结果p=随即值; 我不明白的是等号左边都是p 可是右值又可以是值也可以是地址 那编译器怎么知道右边是什么呢? 还想问的是printf在打印的时候都是p 如果我用%d她怎么就知道打印值 %x就打印地址呢 其实这句话我也没描述明白 看一次书就晕一次 而且上面的代码我分别在linux和win上编译过...

by houtinghua - C/C++ - 2012-11-27 15:10:16 阅读(3017) 回复(15)

昨天写了一个小程序,在分配地址的时候出了点问题。 程序如下: bool CWorkerThread ::CompareMeterID(int nTmpMeter) { char TmpStr[1024]; int nTmp[100]; char* TmpMeterID; int Number = 0; int StrNum = 0; int len = 0; int tmp = 0; len = strlen(m_sMeterID)+1; for(tmp = 0; tmp < 100; tmp ++) { nTmp[tmp] = -1; } //TmpMeterID = new char[len]; //memset(TmpMeterID, 0, len); TmpMeterID = m_sMe...

by guhan010 - C/C++ - 2006-12-30 09:23:55 阅读(937) 回复(3)

一个函数原型如下: [code]q_vbroadcast(ULONG qid, void * msgbuf, ULONG msg_len, ULONG * count)[/code] 现对于参数ULONG * count有两种操作: [code]操作1: unsigned long count = 2; q_vbroadcast(mq, s1, i, &count);[/code] [code]操作2: unsigned long *count = 2; q_vbroadcast(mq, s1, i, count);[/code] 它们有什么区别?为什么第二种方法不能通过编译?

by sithui - C/C++ - 2006-12-06 18:05:58 阅读(2225) 回复(9)

为什么不能将一个无符号整型变量直接赋给某指针变量:如: int i=6,*pi; unsigned n=0x10020; pi=n; //出错,

by xieyf - C/C++ - 2005-12-05 18:24:22 阅读(585) 回复(4)

/*************************************************/ /* Get Host Name */ /*************************************************/ if ((host=gethostbyname(SERVER_NAME)) == NULL) { herror("gethostbyname"); exit(1); } /*************************************************/ /* Initialize the socket address structure */ /****************...

by AllenYao - C/C++ - 2004-04-08 11:05:28 阅读(497) 回复(2)

#include struct foo{         char a[128];         int b; }; int main() {         struct foo *t = NULL;         printf("%p\n", t->a);         printf("%p\n", t->b);     ...

by sjh_311 - C/C++ - 2007-12-06 16:47:04 阅读(1168) 回复(4)