c语言中为什么char *a;
c语言中为什么char*a;scanf("%s",a);是错的啊,一定要定义数组chara[10];吗?不是可以这样定义的吗,char*a="helloworld";那为...
c语言中为什么
char *a;
scanf("%s",a);是错的啊,
一定要定义数组char a[10];吗?
不是可以这样定义的吗,char *a="hello world";
那为什么最上面的是错的啊,求大虾告知,小弟初学c语言 展开
char *a;
scanf("%s",a);是错的啊,
一定要定义数组char a[10];吗?
不是可以这样定义的吗,char *a="hello world";
那为什么最上面的是错的啊,求大虾告知,小弟初学c语言 展开
12个回答
展开全部
char *a只是定义了一个指针,a并没有指向实际的地址空间
应该在scanf("%s",a);之前加一段为a分配地址空间的程序
a=malloc(100);为a分配100个字袭手并节的空间。所有最终程序应薯姿该为
char *a;
a=malloc(100);
scanf("%s"拍迹,a);
应该在scanf("%s",a);之前加一段为a分配地址空间的程序
a=malloc(100);为a分配100个字袭手并节的空间。所有最终程序应薯姿该为
char *a;
a=malloc(100);
scanf("%s"拍迹,a);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char *a是指a的地址,不是a的值如族。
C语言中*p代表指针。
地址是不册仿可以直渣姿弊接赋值的。
C语言中*p代表指针。
地址是不册仿可以直渣姿弊接赋值的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char *a;//声明a是char *类脊樱型,但没有分配液野迟存闹李储空间,要使用就要用malloc分配动态内存
char *a = “hello world”;//存放在只读数据段中
char a[10];//分配10个char的空间,
char *a = “hello world”;//存放在只读数据段中
char a[10];//分配10个char的空间,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char *a,是一个指向char类型的指针,里陵毕中边只能存放指向char类型的指针,
"%s",是指向字尺山符串的。最关键的你没有初始化数轿,这是个野指针,没有指定是很危险的啊。
"%s",是指向字尺山符串的。最关键的你没有初始化数轿,这是个野指针,没有指定是很危险的啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样很容易崩溃,a没初始化
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询