代码中数据类型如何去理解并正确

目录

一、引言

二、数据类型

unsigned char(无符号字符数据类型)

unsigned char(放在函数名称前)

unsigned char(函数后面括号里的内容)

int(整数类型)

int( 放在函数名称前)

int(函数后面括号里的内容)

float(浮点数类型)

float ( 放在函数名称前)

float (函数后面括号里的内容)

char(字符类型)

char(放在函数名称前)

char(函数后面括号里的内容)

void(空类型)

void (放在函数名称前)

void (函数后面括号里的内容)


 

一、引言

写了这么多代码,但我发现我并不熟悉他们,不知道一些代码数据类型为什么这样用,有什么区别,由此我写下这篇文章,帮自己重新认识一下代码中不同的数据类型。在前面我写过一些代码,我先把他们举例子出来讲解,再系统的讲解其他的。

二、数据类型

unsigned char(无符号字符数据类型)

“unsigned char”是一个无符号字符数据类型,用于存储0到255之间的整数值,它占用的内存较少(1字节),适合存储小范围的整数值。unsigned char = uint8_t 8位的数,例如(0000 1111)这个unsigned char很有意思,它可以放在函数名称前,也可以放在函数后面括号里。这是我前面代码里写过的例子。

void Seg_Tran(unsigned char *seg_string,unsigned char *seg_buf)
unsigned char Key_Read(void)

unsigned char(放在函数名称前)

作用:这个就是告诉程序,这个函数最后会给出一个“unsigned char”类型的结果。你可以把“unsigned char”理解为一种数据的“标签”,它规定了这个函数最终返回的数据是什么样的。就像你让别人给你带东西,你告诉别人我要一个小玩具(假设小玩具代表“unsigned char”类型的数据),别人最后给你的东西就应该是符合这个要求的小玩具。

在代码中的体现

当这个函数被执行完后,如果它有一个返回值(就是它最终给出的结果),这个返回值就会按照“unsigned char”这个标签来定义它的大小和性质。例如,在代码里,你可能会看到像这样的一行:

unsigned char key = Key_Read();

这里的意思是,调用“Key_Read”这个函数,然后把函数给出的符合“unsigned char”类型的结果放到变量“key”里面。

unsigned char(函数后面括号里的内容)

作用 :这就像是你给朋友提供了两个工具(或者两个信息来源),让他根据这两个东西来完成任务。这里的“unsigned char *seg_string”和“unsigned char *seg_buf”就像是两个不同用途的工具,函数需要这两个工具来处理数据。

在代码中的体现

unsigned char *seg_string这是一个指针,指向一个字符数组(字符串)。可以理解为:这是你要处理的数据所在的地址。

unsigned char *seg_buf这是一个指针,指向一个用于存储转换结果的缓冲区。可以理解为:这是你要把处理后的数据存放到哪里的地址。

int(整数类型)

 int是一个整数数据类型,用于存储整数值。它可以存储正整数、负整数和零。可以存储的范围一般为-65536-65535

int( 放在函数名称前)

作用 :告诉程序,这个函数最后会给出一个 int 类型的结果。

在代码中的体现

int GetNumber() 
{
    return 42;
}

int main()
 {
    int num = GetNumber();
    printf("The number is: %d\n", num);
    return 0;
}

这里的意思是,调用 GetNumber 这个函数,然后把函数给出的符合 int 类型的结果放到变量 num 里面。

int(函数后面括号里的内容)

作用:这就像是你给朋友提供了工具(或者信息来源),让他根据这些工具来完成任务。这里的 int aint b 就像是两个工具,函数需要这两个工具来进行计算。

在代码中的体现:

int main() 
{
    int value = 42;
    PrintNumber(value);
    return 0;
}

void PrintNumber(int a)
 {
    printf("The value is: %d\n", a);
}

int a 是函数的参数,表示函数需要一个整数作为输入来打印。

float(浮点数类型)

float 是一个浮点数数据类型,用于存储带有小数部分的数字。它通常占用 4 字节的内存空间,可以存储的范围大约为 1.2e-38 到 3.4e+38,但只能保证 6 到 7 位十进制精度。

float ( 放在函数名称前)

作用:告诉程序,这个函数最后会给出一个 float 类型的结果。

在代码中的体现:

float GetPi() 
{
    return 3.14159;
}

int main() 
{
    float pi = GetPi();
    printf("The value of pi is: %f\n", pi);
    return 0;
}

这里的意思是,调用 CalculateArea 这个函数,然后把函数给出的符合 float 类型的结果放到变量 area 里面。

float (函数后面括号里的内容)

作用:这就像是你给朋友提供了工具(或者信息来源),让他根据这些工具来完成任务。这里的 float radius 就像是一个工具,函数需要这个工具来计算面积。

在代码中的体现:

int main()
 {
    float radius = 5.0;
    CalculateArea(radius);
    return 0;
}

void CalculateArea(float radius)
 {
    float area = 3.14159 * radius * radius;
    printf("The area is: %f\n", area);
}

float radius 是函数的参数,表示函数需要一个浮点数作为输入来计算面积。

char(字符类型)

char 是一个字符数据类型,有符号,存储-256-255

char(放在函数名称前)

作用:告诉程序,这个函数最后会给出一个 char 类型的结果。

在代码中的体现:

char GetGrade(int score)
 {
    if (score >= 90) return 'A';
    else if (score >= 80) return 'B';
    else if (score >= 70) return 'C';
    else return 'D';
}

char grade = GetGrade(85);

这里的意思是,调用 GetGrade 这个函数,然后把函数给出的符合 char 类型的结果放到变量 grade 里面。

char(函数后面括号里的内容)

作用:这就像是你给朋友提供了工具(或者信息来源),让他根据这些工具来完成任务。这里的 char c 就像是一个工具,函数需要这个工具来进行处理。

在代码中的体现:

void PrintChar(char c) 
{
    printf("The character is: %c\n", c);
}

PrintChar('A');

char c是函数的参数,表示函数需要一个字符作为输入来打印。

void(空类型)

void是一个空数据类型,表示没有具体的类型。它可以用于定义返回值为空的函数,或者定义没有参数的函数。

void (放在函数名称前)

作用:告诉程序,这个函数不会返回任何值。你可以把 void 理解为一种“无”的标签,表示这个函数完成任务后不需要返回任何东西。

在代码中的体现:

void PrintMessage() 
{
    printf("Hello, World!\n");
}

PrintMessage();

这里的意思是,调用 PrintMessage 这个函数,这个函数完成打印任务后不会返回任何值。

void (函数后面括号里的内容)

作用:这就像是告诉朋友,“我什么都不会给你,你得自己完成任务”。这里的 void 表示这个函数不需要任何外部输入来完成它的任务。

在代码中的体现:

void PrintMessage(void)
 {
    printf("Hello, World!\n");
}

PrintMessage();

void 在括号里表示这个函数不需要任何参数。

你可能感兴趣的:(算法)