易犯错误总结:

不要用&的情况:

1.声明数组型变量

2.字符型变量并为其重新malloc空间地址后

  eg. 

    unsigned char* szContainerName=NULL;
    
...

    szContainerName
=(unsigned char*)malloc(pulSize);//分配地址空间;

    ...     

    UkeyEnumContainer(phDev,szContainerName,
&pulSize);//枚举容器-->szContainerName不为空时;

1 //UkeyEnumContainer函数定义声明如下:
2 
3 typedef ULONG (DEVAPI *PSKF_EnumContainer)( 
4   IN    HAPPLICATION    hApplication,
5   OUT    LPSTR        szContainerName,//LPSTR 为 char*
7   IN    OUT  ULONG     *pulSize 
8 );

易犯错误:

1.声明一个指针,然后要为其申请空间后才能为其赋值,否则会崩掉。或者将指针替换声明为一个数组,因为数组名也是一个指针。

2. 宏定义&常量定义

#define count 60 

//这叫宏定义,不叫常量 

//常量的定义:

const int count = 60;

3.C语言不能在执行语句之后再定义变量,定义的部分全部放在程序开始部分。

 编程习惯问题:

1.分配的空间最后要释放掉。

2.有UkeyOpenContainer,就要有UkeyCloseContainer。

原文地址:https://www.cnblogs.com/zhangxiaosong/p/3284205.html