学习笔记,记录为主
在labview课堂上,看到数组与簇,数组与矩阵等各式各样的转换函数。回想在单片机学习中数据类型转化最多的是字符串和数组之间的变换,在串口发送时,能够将字符串中元素按位以数组元素的方式响应,那么我想将一个数组串口打印呢?第一反应肯定是将其转ascll码再转10进制,有些繁琐并且数据不连贯。在数据结构链表创建时,使用到malloc这个关键字,数组名能表示地址,那我重新为字符串开辟一段地址空间不就实现数组到字符串之间的转换了
>>数组转字符串
char *str(char str_num[],int length)//传入一个字符型数组(+‘0’)并且确定好其长度
{
char *s;
s=malloc((length+1)*sizeof(char));//定义一个字符指针并给它分配length+1个内存单元,
for(int i = 0;i<length;i++) s[i]=str_num[i];
s[length]=0;//总共有length个元素,字符串是以‘/0’结尾的,0不计入字符串长度,但是会计入字符数组长度
return s; //返回一个字符串
}
>>字符串转数组
void str_turn(char *str) //字符串转数组
{
unsigned char length;
length = strlen[str];
char num[length];
for(int i=0;i<length;i++)
{
num[i] = str[i];
}
}