我正尝试在我的程序中创建一个指向main()参数之一的指针。 我设置了初始指针,然后将其设置为等于数组中的第二个元素,但是当我尝试编译时发生错误,分段错误。这是否因为指针指向错误的地址而发生?从main()参数中提取字符串
下面是代码:
char *filename;
*filename = argv[1];
printf("The filename is: %s", *filename);
我得到的指针错误尝试投放参数为int。这是因为指针实际上是一个整数地址值,我试图设置它等于一个字符串?
编辑:当我改变到“文件名= argv的[1]”,然后从我的编译器得到以下错误:分配丢弃了指针目标类型的限定。
同样'的printf( “文件名是:%S”,文件名);'。 '%s'说明符需要一个字符*指针*。 – dmckee 2011-04-05 23:26:29
当我更改为“文件名= argv [1]”,然后从我的编译器中得到以下错误:赋值放弃指针目标类型的限定符。 – Kelp 2011-04-05 23:46:31
@Kelp:用main int(int argc,char ** argv)或int main(int argc,char * argv [])'定义main。 – pmg 2011-04-05 23:59:05