亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 工业技术

C 中的空指针:为什么在编码体验中需要它们

在编程语言中,某些概念使编码变得更加容易。例如,void 指针根据最终用户在 C 编程语言中的输入确定特定的数据类型。因此,带我们来讨论 C 中的 void 指针。

与其他指针一样,void 指针具有相关的功能,因为它们具有灵活性。但是,如果您想在编码时节省时间,您的首选指针函数是一个 void 指针。此指针允许您同时存储和检索不同的对象类型。进一步,您将了解 C 中涉及 void 指针的所有编码技术。

(一种编程语言的形象)

1。 C中的空指针是什么?

通常,void 指针是没有任何相关数据类型的指针。换句话说,它们就像空容器。此功能使它们能够保存未知数据类型的类型变量的地址。

C 的 void 指针函数允许您将它们类型转换为其他数据类型,从而实现轻松的内存分配。随后,这允许灵活的功能,如内存分配中的字节。此外,C 中的 void 指针有助于执行泛型函数。

(一个简单的C语言“Hello World”程序)

https://commons.m.wikimedia.org/wiki/File:C_Hello_World_Program.png

2。 void 指针在 C 中是如何工作的?

总的来说,指针功能对于编程来说是必不可少的。至少,我们看到了它在解决管理和内存分配方面的重要性。

有两种不同的指针类型;泛型指针和空指针。然而,我们的重点是 void 指针以及它们在 C 中的工作方式。

要在 C 中使用 void 指针,您只需要使用关键字“void”声明一条信息。

总体而言,引用和解除引用在通用指针概念中起作用。在这种情况下,取消引用是指获取存储在指针变量中的值。

因此,如果指针值与可用数据类型无关,则可以选择类型转换。

但是,请注意 void 指针不支持任何算术运算。相反,我们使用间接运算符“*”。因此,有必要在没有关联数据类型的情况下进行类型转换。因此,类型转换将与 void 指针一起声明的数据类型相关联。否则,运行程序会显示编译器错误。

void 大小类似于 C 中的字符指针。大小对象因指针平台而异。

这些内存管理函数是 malloc() 和 calloc()。作为回报,这些函数有助于分配所需数据类型的内存。在某种程度上,内存分配使用的格式可以让函数指针增强其他功能。

(C 中指针如何工作的图示说明)。

https://commons.m.wikimedia.org/wiki/File:C_pointer_3.svg

3。空指针语法

通常,最好使用正确的语法来导入任何编程函数。因此,C 中 void 指针的语法是:

无效 *pointer_name;

其中“void”是指针类型的关键字。所以,我们有了指向的指针的名字,并给出了地址分配。

让我们举个例子:

int b =6

char c =‘z’;

因此,在我们包含 void 指针变量的情况下,我们有:

无效 *p =&b; // void 指针分配并保存 int ‘b’ 作为整数地址。

P =&c; // void 指针也保存 char ‘c’ 地址。

更进一步,让我们重点介绍一些语法示例:

诠释我=6; // 整型变量的初始化。

诠释* p; // 整数指针声明。

无效*ptr; // 无效指针声明。

浮动 *fp; // 浮动指针声明。

p=fp; // 无效指针。

点=p; // 有效指针。

fp=&i; // 无效指针。

ptr=&i; // 有效指针。

ptr=fp; // 有效指针。

4. C中空指针的一些示例以及示例代码

继续,我们在下面的代码片段中看一个 void 指针参数的示例:

示例代码#1

在我们的第一个代码示例中,我们展示了如何使用 malloc() 函数,因此:

#include

#include

int main()

{

int a=90;

int *x =(int*)malloc(sizeof(int));

x=&a;

printf(“x 指针指向的值:%d”,*x);

返回 0;

}

输出

示例代码#2

在接下来的代码中,我们展示了类型转换的概念。

#include

int main()

{

无效 *ptr =NULL; //空指针变量

int *p =NULL;// 整型指针变量

char *cp =NULL;//字符指针变量

float *fp =NULL;//浮动指针变量

//空指针大小

printf(“空指针大小 =%d\n\n”,sizeof(ptr));

//整数指针大小

printf(“整数指针大小 =%d\n\n”,sizeof(p));

//char 指针大小

printf(“字符指针大小 =%d\n\n”,sizeof(cp));

//浮点指针大小

printf(“浮点指针大小 =%d\n\n”,sizeof(fp));

返回 0;

}

输出

否则,请参阅下面的视频链接,了解 C 编程中的 void 指针代码。

https://youtu.be/-503stjWLhc

5。空指针的使用

到目前为止,void 指针在 C 语言编程中具有很大的相关性。

为了更好地理解,请参阅下面的代码示例。其中包括:

#include

void main()

{

int num=10;//初始化一个普通变量

void *ptr;//声明空指针

ptr=#//将 Ptr 指针指向 num

printf(“整数变量的值为=%d”,*ptr );

}

但是,运行此代码会导致编译时错误。如果您在同一代码上使用类型转换来取消引用指针,您将获得所需的输出,因此:

#include

void main()

{

int num=10;//初始化一个普通变量

void *ptr;//声明空指针

ptr=#//将 Ptr 指针指向 num

printf(“整数变量值为 %d”, *(int*)ptr );// 使用类型转换解除引用

}

整型变量值为10。

因此,通过类型转换,我们可以取消引用 void 指针。

因此,虽然指针算术对 void 指针无效,但类型转换有助于解决该问题。输出变为:

(空指针通过显示数据变量的位置使编码更容易)

为了说明,请看下面的代码:

int main(void)

{

// 注意 malloc() 函数返回 void *

// 跟进,类型转换为任何数据类型,例如 char *, int *,...

int *x =malloc(sizeof(int) * n);

}

需要注意的是,上面的程序只能用 C 编译。

结论

一般来说,void 指针函数是必不可少的编程工具。程序员发现它很有用,因为没有与之关联的数据类型。至少,它消除了指向不同值和数据类的指针的混淆。因此,void 指针减少了过多的类型转换。它也支持通用指针类型的数据。因此,它也是一个通用的编译器。

你有一个关于在 c 中使用 void 指针的完整指南。但是,如果您有疑问或需要其他编程资源,我们的联系页面始终可用。


工业技术

  1. 为什么需要对压缩空气系统进行空气能审核
  2. 什么是扭矩限制器以及为什么需要它们
  3. 什么是液压夹具以及为什么需要它们?
  4. 应该数字化工业文档的4个理由
  5. 为什么您绝对需要设置 Andon 系统?
  6. 等离子切割:您现在需要在商店中使用等离子台的 4 个原因
  7. 需要水刀切割的 10 个令人信服的理由
  8. 为什么需要机械铁工?
  9. 为什么需要小型伺服压力机?
  10. 为什么需要 5 轴加工中心?
  11. 为什么需要饮料机器人?
  12. 您需要知道的 Flex PCB 设计指南