当前位置: 技术问答>linux和unix
请教一个关于typedef程序的问题
来源: 互联网 发布时间:2017-01-01
本文导语: 本来就是想测试一下typedef,写了几句代码, #include typedef char *va_list; int main(void) { va_list va; *va='a'; va++; if(*va=='') printf("Result is successn"); return 0; } 编译是通过了,但是执行时说是段错误,请指教 cheng@ubuntu:~/zmy...
本来就是想测试一下typedef,写了几句代码,
#include
typedef char *va_list;
int main(void)
{
va_list va;
*va='a';
va++;
if(*va=='')
printf("Result is successn");
return 0;
}
编译是通过了,但是执行时说是段错误,请指教
cheng@ubuntu:~/zmyprogram$ gcc typede.c -o typede
cheng@ubuntu:~/zmyprogram$ ./typede
段错误
#include
typedef char *va_list;
int main(void)
{
va_list va;
*va='a';
va++;
if(*va=='')
printf("Result is successn");
return 0;
}
编译是通过了,但是执行时说是段错误,请指教
cheng@ubuntu:~/zmyprogram$ gcc typede.c -o typede
cheng@ubuntu:~/zmyprogram$ ./typede
段错误
|
你的指针没分配空间就往上面写东西,就出错了
给它分配空间 va_list va=new char;
给它分配空间 va_list va=new char;
|
#include
#include
#include
typedef char *va_list;
int main(void)
{
va_list va = (va_list)malloc(10);
*va='a';
va++;
if(*va=='')
printf("Result is successn");
return 0;
}
你代码中有乱码. 我改了下.
|
*va='a';
危险地带。
指针的话先分配空间
危险地带。
指针的话先分配空间