(1)定义一个整型指针变量p,使它指向一个5个元素的一维数组.(2)使用指针移动的方式,输入5个整型数组元素.(3)定义一个整型指针变量q,使用malloc函数动态分配5个整型数的地址空间.(4)使用

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/27 16:04:36
(1)定义一个整型指针变量p,使它指向一个5个元素的一维数组.(2)使用指针移动的方式,输入5个整型数组元素.(3)定义一个整型指针变量q,使用malloc函数动态分配5个整型数的地址空间.(4)使用

(1)定义一个整型指针变量p,使它指向一个5个元素的一维数组.(2)使用指针移动的方式,输入5个整型数组元素.(3)定义一个整型指针变量q,使用malloc函数动态分配5个整型数的地址空间.(4)使用
(1)定义一个整型指针变量p,使它指向一个5个元素的一维数组.(2)使用指针移动的方式,输入5个整型数组元素.
(3)定义一个整型指针变量q,使用malloc函数动态分配5个整型数的地址空间.
(4)使用数组下标的方式输入5个整型元素.
(5)使用指针p和q分别访问两组数据,如果第一组数据对应位置的值大于第二组,则交换对应位置的值.
(6)分别输出交换后的两组数.
(7)按十六进制方式输出p、a和q的地址.

(1)定义一个整型指针变量p,使它指向一个5个元素的一维数组.(2)使用指针移动的方式,输入5个整型数组元素.(3)定义一个整型指针变量q,使用malloc函数动态分配5个整型数的地址空间.(4)使用

你好,完成以上功能的代码如下

根据你要求的malloc我觉得应该是用C语言来做吧!

如果我理解错了,请指正!

#include<stdio.h>

#include<stdlib.h>

int main(){

   int a[5];

   int *p=a; //完成(1)

   int i;

   printf("Please input:");

   for(i=0;i<5;i++)

  scanf("%d",p+i);   //完成(2)

      int *q=(int*)malloc(sizeof(int)*5);   //动态分配内存空间   //完成(3)

  printf("Please input:");

      for(i=0;i<5;i++)

 scanf("%d",q+i);   //完成(4)

     for(i=0;i<5;i++)      //完成(5)

if(p[i]>q[i]){

   int t=p[i];

   p[i]=q[i];

   q[i]=t;

}

for(i=0;i<5;i++) //完成(6)

   printf("%d",p[i]);

   putchar('\n');

for(i=0;i<5;i++)

   printf("%d",q[i]);

   putchar('\n');

               printf("p=%x\n",p); //完成(6)

   printf("a=%x\n",a);

   printf("q=%x\n",q);

  free(q);

  q=NULL;//释放动态分配的内存

return 0;

}

执行结果:

(1)定义一个整型指针变量p,使它指向一个5个元素的一维数组.(2)使用指针移动的方式,输入5个整型数组元素.(3)定义一个整型指针变量q,使用malloc函数动态分配5个整型数的地址空间.(4)使用 若有定义:int x;,则定义一个可以指向整型变量x的指针P的语句是什么? 2. 如果a为整型变量,在定义指针变量p的同时使其指向变量a,则变量p如何定义? (*q)[3]和*p[3]的区别!q是指向一个包含4个整型元素的一维数组的指针变量.p是由p[0] 、p[1]、 p[2]3个指向整型数据的指针组成的一维数组!书上这么写的 但是我没太懂 他们的用法我都会 就是具体 定义一个指针变量,使它指向数组的第一个元素?怎么实现? 若有定义:int (*p)[4],则p是一个指向含有四个整型元素的一维数组 的指针.这句话是正确的吗? 假设char m,现要用一个定义语句,定义一个指针P指向变量M( ) 已知一个整型数组a[10],要求定义2个指向整型变量的指针变量max,min,使得它们分别指向数组的最大数和最小数. p为一指针变量,取p所指向单元的数据作为表达式的值,然后使p指向后一个单元 设指针p指向值为25的整型变量,则++*p后p的值是? 若有定义int(*p)[3]; 则定义了一个名为p的指针变量 它可以指向每行有三个整数元素的二维数组请问如何理解这句话和此定义 为什么是二维数组? 若变量已经正确定义并且指针p已经指向变量x,则*&x相当于什么 关于指针变量的问题首先定义数组int a[3];如果把a赋给一个指针变量p,那么p该如何定义?我觉得a是指向行的,而&a[0]才是指向元素的.所以不能把a赋给定义为int*p的指针变量p,而是赋给同样指向行 怎么获得一个指针变量所指向的地址的值比如说定义了一个指针变量int *p,p指向的地址为0x80000,那在C语言中我怎么p指向的地址为0x80000?额,打少了几个字,应该是这样的:定义了一个指针变量int 7)C语句:int (* pa)[5]; 中,pa 表示的是一个( )A.指针数组的名称B.指向整型变量的指针C.指向包含5个整形元素的一维数组的指针D.指向函数的指针 若变量已正确定义并且指针p已经指向变量x,则&*p相当于 293514091谢谢谢 p1指向某个整型变量,要使指针p2也指向同一变量,哪一个语句是正确的 .A.p2=*&p1; B.p2=**p1; C.p2=&p1指向某个整型变量,要使指针p2也指向同一变量,哪一个语句是正确的 .A.p2=*&p1; B.p2=**p1; C.p2=&p1; D.p2=* 一道C语言中关于指针和变量的题假设变量已经被正确定义,下列________语句是不正确的.A.p = &x; B.p = &(x+1) C.p = &x + 1; D.p = &x++;说x+1是常量,不能对它取地址.为什么x+1是常量啊?难道一个变量加一