问一个很菜的结构体 指针的问题
#include <stdio.h>
using namespace std;
typedef struct
{
int i;
}aaa;
int main()
{
aaa *a;
scanf( "%d ",&a-> i);
printf( "%d ",a-> i);
getchar();
retrun 0;
}
编译正确但是运行时当输入第一个数字后系统提示内存不能为read,输入输出函数的格式有问题吗?请指教
[解决办法]
先给a指针声请空间,再使用.
问这样的问题,建议你先去好好理解一下c语言中指针到底是什么.
[解决办法]
#include <stdio.h>
#include <stdlib.h>
typedef struct
{
int i;
}aaa;
int main()
{
aaa *a = (aaa*)malloc(sizeof(aaa)); //分配内存
scanf( "%d ",&a-> i);
printf( "%d ",a-> i);
getchar();
free(a); //释放内存
system( "pause ");
return 0;
}