c - 如何正确地将 char * const[256] 转换为 const char * const*
问题描述
我有这个结构:
typedef struct cmdLine {
char * const arguments[256];
} cmdLine;
我也有一个说法cmdLine *pCmdLine
。我想用execv
所以我写execv((pCmdLine->arguments[0]), pCmdLine->arguments);
。第二个参数不正确execv
,我想问一下如何正确转换它。
我得到的警告是:将'char* const[256]'' 传递给 'const char *const *' 类型的参数会丢弃嵌套指针类型中的限定符。我会撒谎寻求一些帮助以正确转换它,谢谢。
解决方案
我没有看到任何问题:
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <stdio.h>
struct
{
char * const arr[20];
}*str;
void foo(char *const par[])
{
volatile const char * const ptr = par[4];
printf("%s\n", par[7]);
printf("%s\n", ptr);
}
void foo1()
{
foo(str -> arr);
}
推荐阅读
- text - SklearnClassifier.train(labeled_featuresets)
- griddb - GridDb 集群安装程序不可用
- sas - 使用 SAS/SQL 捆绑医疗保健索赔
- visual-studio-code - 如何解决vs code中的live server问题
- c# - Linq:列出 DataGridView 中包含至少 2 个具有值的单元格的所有行
- python - tkinter + figma 动画图形用户界面
- python - 如何从嵌套的 JSON 创建数据框?
- mysql - Mysql,当我关闭我的工作台时,所有数据都被删除
- html - 如何避免菜单图标图像在悬停时掉到下一行
- flutter - 文档更新时字段重置为 0