python - 如何在 C 中使用不同的变量作为函数参数?
问题描述
C 和 Python 的问题在于,您实际上可以通过使用函数来更改变量类型。这方面的一个例子是atoi()
将 achar * (string)
转换为int
. 所以我通过制作一个函数进行了实验:
#include <stdio.h>
#include <stdlib.h>
int make_int(char *str);
int main() {
char str[256];
scanf("%255s", str);
printf("%i\n", make_int(str));
}
int make_int(char *str) {
return atoi(str);
}
它按预期工作,但我没有考虑的是,在 C 中,您必须告诉变量它是什么类型,与 Python 不同,您可以在其中命名并分配它。我想实际做其他变量,但在此过程中可能会变得更加复杂。
问:我如何制作一个参数实际上是随机类型的函数,就像 Python 的做法一样?我实际上如何将任何变量也更改int
为?
解决方案
你不这样。C 是一种静态类型语言。但是,根据 Random Davis 的评论,void *
传递地址可以工作,但是如果不传递另一个参数(因此 printf 的格式字符串等,它们使用另一种机制:可变参数(...
在原型))。
推荐阅读
- qt - 如何从 Qt 中的另一个文件访问另一个对象中的一个对象的属性?
- typescript - 如何使用 Typescript 3.2.2 进行命令行编译?
- java - 未知错误:DevToolsActivePort 文件不存在
- spark-structured-streaming - 如何使用 Java Spark 结构化流 API 合并两个数据帧,而不添加索引并加入它们?
- angular - 延迟加载模块内的子路由未激活
- python-3.x - pytest 安装 pytest-ordering 模块后出错
- html - 如何使用引导程序在 div 标签中居中元素
- mysql - 不能包含mysql.h C语言Xcode
- html - 在盒子中间的css中制作箭头
- python - 将列表的字符串元素转换为变量