不要用&的情况:
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。