[英]Declaring a global CHAR array from shell in C
我在C中的全局变量有问题。我必须用C创建一个字符串数组。字符串的数目将由外壳程序传递的参数( number_of_string = atoi(argv[1])
)确定。 因此,我认为最好的方法是使用number_of_strings
指针数组。 该数组的每个元素都将指向由malloc保留的一部分内存。 主要问题是我需要在执行main(argv [1]尚不存在)之前定义数组的大小作为全局变量。 我不知道该怎么解决。 谁能帮我?
这可以解决您的问题吗?
#include <stdlib.h>
char **strings;
int main(int argc, char **argv)
{
int size;
int i;
if ( argc < 2 )
return 1;
size = atoi(argv[1]);
if ( size <= 0 )
return 2;
strings = malloc(sizeof(char*)*size);
for ( i = 0 ; i < size ; i++ ) {
strings[i] = malloc(sizeof(char)*100);
}
// You now have argv[1] 100-byte strings (don't forget about NULL terminators)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.