作者:admin 发布时间:2024-03-03 23:30 分类:资讯 浏览:100 评论:0
1、输入数组需要使用指针获取地址后,就能对得到的数组就行操作了。
2、直到遇到\0为止 而下面这个 char str;scanf(%s,str);指针没有初始化,所以是不对滴。
3、p是指针,因为开始定义的时候 *p=arr,就是表示p指向数组arr的首地址 scanf(%d,p); 于是就表示arr地址输入当前值。
4、可以使用三个数组,或者是一个二维数组来存储字符串,同时定义一个指针数组,指向三个字符串的首地址。然后对指针数组进行排序。
5、如下提示供参考:int ddata[20] 是 scanfArr 函数内部定义的,是 局部变量,上面 arr = ddata,导致 scanf 输入的数组元素会保存到 局部变量 数组中,并无意义。
6、要使用指针就必须让指针指向有效的地址。你在程序中char *str[5];处声明了5个指针,但是这些指针并没有指向有效的地址,所以它们是非法的,不能直接使用,否则就会出现非法访问的错误。
1、int ddata[20] 是 scanfArr 函数内部定义的,是 局部变量,上面 arr = ddata,导致 scanf 输入的数组元素会保存到 局部变量 数组中,并无意义。
2、可以。指针作为实体,是一个用来保存一个内存地址的计算机语言中的变量。数组,是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。
3、不可以,因为w这时还是野指针。只有这样 int *w,a[44];w=a;操作后才可以,操作w就与操作a一样了。而且,操作指针比直接操作数组名更方便,因为指针是变量,可以++、--,而数组名是常量,不能++、--。
4、可以 指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定。它是“储存指针的数组”的简称。数组指针:首先它是一个指针,它指向一个数组。
输入n, 动态分配数组存储空间,用指针输入数据,用指针输出数据。
include int main(){ int i,y;printf(请输入n:\n);scanf(%d,&i);int *t=(int*)malloc(4*i);for(y=0;y 追问:。貌似不对吖,运行完成,但是答案不对。
p=a时是把a数组的首地址赋给p,下面的关于p的操作相当于对数组a的操作,主要通过首地址+偏移地址来进行读入,此时p指向数组的最后一个元素,后面的“p=a”这句又把a的首地址赋值给p,从头输出数组。
数组名并不是一个普通的变量,而是一个指向数组首元素的指针。也就是说,我们可以用数组名来初始化一个对应类型的指针。虽然数组名是指针,但它是一个指针常量。也就是说,不带下标的数组名不能作为左值。