• 编程注意事项(2010.12.25)


    1.不要因为简便而滥用++ --

    比如:

    1 int data[20];
    2
    3 for(int i=0;i<20;i++)
    4 {
    5 data[i]=i;
    6 }
    7 int len=19;
    8 while(len--)
    9 {
    10 printf("%d %d\n",data[len],data[19]);
    11 break;
    12 }

    这个本意应该是遍历数组然后输出,但是结果是data[19]没遍历到,因为while(len)后会执行len=len-1;
    再执行下一句

    2.注意初始化数组

    比如

    void output(char *s)
    {
    	char str[]="hello";
    	
    	for(int i=0;i<5;i++)
    	{
    		s[i]=str[i];
    	}
    }

    这个时候如果执行printf("%s",s);会发现多输出一些乱码,经常忘记初始化数组,当然复制数组还是建议用strcpy或者strncpy,
    但是当不能使用这两个的时候要注意初始化

    3.注意使用memset

    	int data[20];
    	
    	memset(data,0,sizeof(data));
    	

    这个是没错的,但是当一个数组传入一个函数后会被退化成指针,这个要注意,那样sizeof就变成了4,只初始化4个字节(32位机上)

    4.如果malloc的时候要注意是否有指针指向malloc的对象,做链表经常不注意这个问题,例如

    1 char *aptr=ptr;
    2 ptr=(char *)malloc(sizeof(char)*15);
    3 strcpy(ptr,"hello,world");
    4
    5 return aptr;

    显然这个是想要返回ptr的hello,world,但是结果是错误输出,因为ptr在malloc的时候就已经指向其他地方,
    而aptr还指向原来的地方,最好是把char *aptr=ptr放到malloc的后面
  • 相关阅读:
    业务对象(BO)设计
    业务对象和BAPI
    LSMW应用
    BDC、CATT批量数据维护
    ABAP RFC远程调用
    LIST动态表格画线(动态列)
    ALV详解:OO SALV
    ALV详解:OO ALV
    ALV详解:Function ALV(二)
    ALV详解:Function ALV(一)
  • 原文地址:https://www.cnblogs.com/linyilong3/p/1916678.html
Copyright © 2020-2023  润新知