10 2013 档案
摘要:字符串果然是博大精深,初始化字符串有三种方式:char *p1[] = "Hello";char *p2 = "World";char *p3 = (char *)malloc(3);这三种方式产生的指针p1、p2、p3本身都位于栈中,这就不多说了,关键是右值的数据是位于哪,其位置直接决定了哪些字符串是可修改单个字符的。第一种方式中,“Hello”位于栈中,所以可以采用p1[i]或者*(p1+i)来进行单个字符的修改,比如可以p1[4]='s',将"Hello"编程“Hells”。第二种方式中,“World”位于静态数
阅读全文
摘要:1、明确目的,为什么要使用多线程?如果是由于单线程读写或者网络访问(例如HTTP访问互联网)的瓶颈,可以考虑使用线程池。如果是对不同的资源(例如SOCKET连接)进行管理,可以考虑多个线程。2、线程使用中要注意,如何控制线程的调度和阻塞,例如利用事件的触发来控制线程的调度和阻塞,也有用消息来控制的。3、线程中如果用到公共资源,一定要考虑公共资源的线程安全性。一般用LOCK锁机制来控制线程安全性。一定要保证不要有死锁机制。4、合理使用sleep,何时Sleep,Sleep的大小要根据具体项目,做出合理安排。一般原则非阻塞状态下每个循环都要有SLeep,这样保证减少线程对CPU的抢夺。每次线程的就
阅读全文
摘要:今天在面试时,一个问题引起我和老四的分歧:一个结构体A,包含一个int然后一个char,sizeof(A)是多少?一个结构体B,包含一个char然后一个int,sizeof(B)是多少?老四认为是A是5Bytes,B是8Bytes,我认为是A、B都是8Bytes,不过后来我自己开始怀疑自己,感觉如果char排在结构的最后可能确实在计算所占内存时是不占用一整个内存单元的,所以结果可能确实是5,但是经过程序证明,发现还是我当初的想法是正确的:A、B都是8字节。/* 结构体A,一个int一个char,sizeof结构体是多少? 经过验证,答案是8 结构体B,一个char一个int,siz...
阅读全文
浙公网安备 33010602011771号