指针赋值有几种方法 c语言字符串指针为什么不能用scanf赋值?
浏览量:2183
时间:2021-03-11 06:14:54
作者:admin
c语言字符串指针为什么不能用scanf赋值?
C语言是一种比较低级的语言,没有字符串的概念,只有字符数组,不能自动分配空间,要存储数据,必须事先定义存储空间的大小
!更改为:char name[100]必须是常量
scanf(%d%s”,&A[i]。努,a[i]。(姓名)没问题
!估计您已经看到了这个定义:char*name=“ABCD”,这也是字符数组初始化的固定空间。所以您应该记住,初始化时必须保留存储空间的大小
!另外,如果想达到高级语言的效果,还可以使用
a[i]。Name=(char*)malloc(100)/*这里还需要常量*/
scanf(%d%s”,&A[i]。努,a[i]。(姓名)没问题
C语言中,为什么字符串可以赋值给字符指针变量?
C语言中没有字符串类型。字符串是一个字符数组。即char类型的数组。与普通数组不同,字符串必须以“0”结尾。在C语言中,T型一维数组的第一个地址等价于该类型的一维指针,即T*型。因此字符串的第一个地址,即字符数组,可以用作char*。实际上,在库函数和大多数使用字符串作为参数的函数中,参数是char*。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。
上一篇
远程桌面程序 rdp远程桌面