#include"stdio.h"
#include"stdlib.h"
#include"ctype.h"
struct co
{
int index;
char name[8];
char MTel[12];
char Tel[12];
};
int x;
int main()
{
struct co *p;
char ch;
printf("do you add a user ?Y/N\n");
ch=getchar();
if(ch=='Y'||ch=='Y')
{
p=(struct co *)malloc(sizeof(struct co));//动态分配一段存储空间
p->index=++x;
printf("User name:");
scanf("%s",p->name);
printf("MoveTel:");
scanf("%s",p->MTel);
printf("Tel:");
scanf("%s",p->Tel);
printf("intex:%d\nname:%s\nMoveTel:%s\nHomeTel:%s\n",p->index,p-name,p->MTel,p->Tel);
}
printf("page size=%d\n",getpagesize());//取得内存分类大小
}
报错信息
[yh1@lzf 3]$ gcc -o 3-10 3-10.c
3-10.c: 在函数‘main’中:
3-10.c:29:67: 错误:‘name’未声明(在此函数内第一次使用)
3-10.c:29:67: 附注:每个未声明的标识符在其出现的函数内只报告一次
hml1006 于 2011-10-31 09:53:01发表:
if(ch=='Y'||ch=='Y') <--------------------
专攻Linux/ARM 于 2011-10-28 22:10:23发表:
2# lijiang
汗!谢谢
lijiang 于 2011-10-27 21:56:36发表:
[i=s] 本帖最后由 lijiang 于 2011-10-28 20:17 编辑 [/i]
实际报错说的挺清楚,你把p->name写成了p-name,编译器会错误的解释为指针变量p减去变量name。