C语言
1. 函数可变参数实现
http://www.cnblogs.com/chengxuyuancc/archive/2013/05/30/3107058.html
2. 二进制数转ASCII方法总结
- 利用sprintf函数实现
void dword_to_ascii(unsigned long value,unsigned char *pdata)
{
sprintf(pdata,"%u",value);
}
void hex_to_ascii(unsigned long value,unsigned char *pdata)
{
sprintf(pdata,"%x",value);
}
- 利用递归函数实现
void binary_to_ascii(unsigned long value,unsigned char **ppdata)
{
unsigned long data=value/10;
if(data != 0)
{
binary_to_ascii(data,ppdata);
}
*(*ppdata)++ = value%10+'0';
}
- 测试代码
int main()
{
char data_buf[30]={0};
unsigned long value;
char *pdata = data_buf;
scanf("%d",&value);
printf("%d\r\n",value);
binary_to_ascii(value,&pdata);
printf("%s\r\n",data_buf);
dword_to_ascii(value,data_buf);
printf("%s\r\n",data_buf);
hex_to_ascii(value,data_buf);
printf("%x -> %s\r\n",value,data_buf);
return 0;
}
3. sizeof数组
#include<stdio.h>
int main(void)
{
int array[]={1,2,3,4,5};
int *p = "asdfgjkl";
printf("sizeof(array)=%d\r\n",sizeof(array));
printf("sizeof(p)=%d\r\n",sizeof(p));
}
- 结果