【发布时间】:2018-08-19 23:34:39
【问题描述】:
int NJOBS=0;
struct Jobs{
char *jname;
int btime;
int priority;
int order;
}Job[10];
int cmd_run(int nargs, char **args) {
NJOBS++;
Job[NJOBS].order=NJOBS;
int bt = atoi(args[2]);
int pri = atoi(args[3]);
Job[NJOBS].btime=bt;
Job[NJOBS].priority=pri;
Job[NJOBS].jname=args[1];
}
我有一个结构来承载工作细节。调度程序函数将参数(args)从命令行传递给 cmd_run 函数。 cmd_run 中的 args 将具有类似“Jobname 10 1”的内容。 我需要将 Jobname 复制到 Job[NJOBS].jname,虽然我可以复制整数变量,但不会复制字符串变量。我还尝试使用本地 cont char 数组并尝试从参数复制到本地变量它仍然不起作用。 请提供建议。 非常感谢您的帮助。
非常感谢!
【问题讨论】:
-
C 中没有pass-by-reference,都是pass-by-value。传递指针只是将地址按值传递给某物的一种方式,依此类推……
标签: c arrays string pointers pass-by-reference