ÎĵµÃû³Æ ÎĵµÃܼ¶
pszBuf = (char *)malloc(BUFFER_SIZE); return; }
void Test(void) {
char *pszBuf = NULL; GetMemory(pszBuf); if(NULL == pszBuf) {
return ; }
strcpy(pszBuf, \ printf(\ free(pszBuf); return;
}
º¯ÊýÒª·µ»ØÖ¸Õë¾ÍÐèÒª´«½øÈ¥Ö¸ÕëµÄµØÖ·
75¡¢ ÈçϺ¯ÊýʵÏÖ´òÓ¡×Ö·û´®\µÄ¹¦ÄÜ£¬ÇëÖ¸³ö´íÎó£º
char *GetMemory(void)
{
char pcBuf[] = \ return pcBuf; }
void Test(void) {
char *pcStr = NULL; pcStr = GetMemory(); if(NULL == pcStr)
{
printf(\ return; } else {
printf(\ }
return; }
Òª´òÓ¡µÄ×Ö·û´®´æÔÚÓÚÕ»ÄÚ´æ,¿ÉÄܲ»»áÕýÈ·´òÓ¡
76¡¢ ÏÂÃæ³ÌÐò°Ñ\Õâ¸ö×Ö·û´®Êä³ö£¬ÇëÖ¸³öÆäÖеĴíÎó¡£
void PrintBLUE(void)
33
ÎĵµÃû³Æ ÎĵµÃܼ¶
{
char* pcColor ; char pcNewColor[5]; pcColor = \
strncpy(pcNewColor, pcColor,4); printf(\ return;
}
strncpyûÓаÑÖÐÖ¹·ûNULLдÈëÊý×éÖÐ
77¡¢ ÇëÖ¸³öÏÂÃæ³ÌÐò´íÎóµÄµØ·½:
LONG A() {
if (Ìõ¼þ1) {
return; }
return VOS_OK; } VOID B() {
if (A())
{
DoSomeThing1(); } else {
DoSomeThing2(); } return; }
returnÓï¾äÉÙÁË·µ»ØÖµ
78¡¢ ±¾Ìâ²»¿¼ÂÇħ¹íÊý×ÖÎÊÌâ
void AddFunc (unsigned int a, unsigned int b, unsigned int * c) { } {
*c = a + b
void main(void)
unsigned char e = 200; unsigned char f = 100;
34
}
ÎĵµÃû³Æ ÎĵµÃܼ¶
unsigned char g = 0;
AddFunc((unsigned int)e,(unsigned int)f,(unsigned int *)&g); printf(\
gÊÇÒ»¸ö×ֽڵıäÁ¿£¬½«gµÄµØÖ·Ç¿ÖÆ×ª»»³ÉËĸö×Ö½Úunsigned intµØÖ·,µ¼ÖÂдÄÚ´æÔ½½ç
79¡¢ ÕÒ³öÏÂÃæÌâÄ¿ÖеĴíÎó
#define ID_LEN struct STR_A { }
32
char aucID[ID_LEN]; int iA;
struct STR_B { }
// ¸Ãº¯Êý½«pstBÄÚµÄpaucIDÖ¸Ïò½á¹¹stAµÄaucID
void funcA(struct STR_A stA, struct STR_B *pstB) {
pstB->paucID = stA.aucID; char *paucID; int iB;
}
main() {
STR_A stA = {0}; STR_B stB;
strcpy(stA.aucID, ¡°12345¡±); funcA(stA, &stB);
printf(¡°%s\\n¡±, stB.paucID);
}
funcA´«ÈëµÄstAµÄ²ÎÊýÊÇÒ»¸öÖµ¿½±´£¬pstBÖ¸ÏòµÄÊǶÑÕ»ÖеĵØÖ·¡£
80¡¢ ÒÔϺ¯ÊýÖ÷ҪĿµÄÊÇΪһ¸öÈ«¾Ö¿Õ¼äѸËÙÌî³äÖ¸¶¨×Ö·ûgarbage£¬ÇëÖ¸³öÓдíÎóµÄµØ·½ #define MAX_LEN 20 char pBuffer[MAX_LEN]; unsigned char garbage=0x4E;
int longfill(const char *pv, unsigned char b)
35
{
ÎĵµÃû³Æ ÎĵµÃܼ¶
unsigned short val = 0;
/* ÓÃ4 ¸ö×Ö½ÚÆ´³ÉÒ»¸ö³¤×Ö */
val = (b<<24) | (b<<16) | (b<<8) | b; }
int main(int argc, char* argv[]) { }
int i = 0;
int len = MAX_LEN/4;
for(i=0;i return 0; *(unsigned long *)pv= val; return 0; valÒç³ö 81¡¢ Ö¸³öÏÂÃæ³ÌÐòµÄ´íÎó VOID B(ULONG *p) { *p = 66 * 10000; return; } VOID A() { unsigned short a £½ 10*1000; B((ULONG *)(&a)); return; } ×Ö·ûÔ½½ç/Òç³ö 82¡¢ #define MAX_LEN 2 void ConvertCode(_UC *p_byte, _UC num) { _UL i = 0; for (i = 0 ; i < num; i++) { p_byte[i] = ((p_byte[i] & 0xF0) >> 4) | ((p_byte[i] & 0x0F) << 4); } } void main(void) 36 { ÎĵµÃû³Æ ÎĵµÃܼ¶ _UC * str = NULL_PTR; ConvertCode(str, MAX_LEN); } ConvertCodeº¯ÊýûÓнøÐÐÈë²ÎµÄÓÐЧÐÔÅÐ¶Ï 83¡¢ ÇëÖ¸³öÏÂÃæº¯ÊýµÄÐÔÄÜÎÊÌâ #define MAX_PRAM_LENGTH 10000 typedef struct { unsigned char ucCommand; unsigned short usLength; unsigned char Para[MAX_PRAM_LENGTH]; } DEBUG_MSG; void PringDebugMsg (DEBUG_MSG DebugMessage) { int i; printf(\ for (i = 0 ; i < DebugMessage.usLength && i < MAX_PRAM_LENGTH; i++) { } printf(\ } ʹÓó¬´ó½á¹¹Êý×é±äÁ¿×÷Ϊ²ÎÊý£¬ÓпÉÄܽ«Õ»¶¥±¬£¬µ¼Ö³ÌÐòÒì³£¡£ 37