arrays - 在 C 中传递混合的 const 整数 ASCII 值和 const char 数组,并在没有先前声明的情况下传递 const int
问题描述
我对这个问题有两个部分。
1:如果我想将一个 const int 数组传递给一个函数,通常我会这样做。
const int array[3] = {1,2,3};
somefunction(array,3);
但我想以一种更简单的方式来做,就像你可以用字符串做的那样,这是可能的。
somefunction("abc",3);
对于像我这样的事情,somefunction({1,2,3},3);
我知道这不起作用,但有一种语法正确的方法来做到这一点。
2:如果上一个问题是可能的,那么这个问题就被回答了。有没有办法在 const 字符串中混合 ascii 值。就像......
somefunction({1,2,3,"test"},7);
我知道这不起作用,但有没有一种语法正确的方法来做到这一点。
解决方案
回答你的第一个问题我可以说你可以使用复合文字来做到这一点。例如
#include <stdio.h>
void f( const int a[], size_t n )
{
for ( size_t i = 0; i < n; i++ )
{
printf( "%d ", a[i] );
}
putchar( '\n' );
}
int main(void)
{
f( ( int[] ) { 1, 2, 3 }, 3 );
}
但是你不能有一个包含不同类型元素的数组。
因此,对于这样的构造{1,2,3,"test"}
,您需要将字符串文字拆分为单独的字符,例如{1,2,3, 't', 'e', 's', 't'}
推荐阅读
- ios - DJISDK iOS Flysafe 捆绑包未加载
- python - 关闭未在 cron 中运行
- r - 根据不同列上的条件删除行
- javascript - Sequelize 正在运行的迁移结果无法读取未定义的属性“键”
- c - 如何在c编程中再次显示保留的电影院座位
- sql-server - 使用 SQL Server 帐户和加密密码连接到 SQL Server 并执行 invoke-sqlcmd
- javascript - If condition does not follow (JavaScript)
- python - extracting specific data from JSON format and converting to binomial
- css - ng-bootstrap 打开焦点输入字段 css 不起作用
- html - Can't give width on paragraph tag