博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 下 JNI 开发
阅读量:4046 次
发布时间:2019-05-25

本文共 1315 字,大约阅读时间需要 4 分钟。

  1. 动态创建数组-15

malloc(memory allocate) 函数

realloc  re- allocate 重新分配

动态数组的创建步骤

  1、让用户输入一个长度

  2、根据长度,分配内存空间

  3、让用户把数组中的元素依次的赋值;

  4、接收用户输入扩展数组长度

  5、根据扩展的长度重新分配空间

  6、把扩展长度的元素让用户赋值;

  7、输出数组

 

 

 

  malloc(长度);分配内存

 

  realloc(数组,长度)重新分配空间 

 

范例如下:

 main()

{

    

  //1、让用户输入一个长度

   printf("请输入数组的长度:");

   int length;

   scanf("%d",&length);

   printf("你输入的长度为:%d\n",length);

  //2、根据长度,分配内存空间

  // int* == int iArray[]

  int* iArray = malloc(length * 4);//分配出指定元素的总空间:3个元素,3 * 4 = 12;

  //3、让用户把数组中的元素依次的赋值;

  int i;

  for(i = 0;i < length;i++){

          printf("请输入第[%d]元素的值:",i);

          scanf("%d",iArray + i);

  }    

  //4、接收用户输入扩展数组长度

    printf("请输入扩展的长度:");

    int supportLength ;   

    scanf("%d",&supportLength);

    printf("扩展的长度为:%d\n",supportLength);

   

  //5、根据扩展的长度重新分配空间

    iArray  = realloc(iArray,(length + supportLength) * 4);

   

  //6、把扩展长度的元素让用户赋值;

  for(i=length;i<(length + supportLength);i++){

        printf("请输入扩展第[%d]元素的值:",i); 

        scanf("%d",iArray + i);                

  }                    

 

  //7、输出数组

     for(i = 0;i < length + supportLength;i++){

            

              printf("iArray[%d]=%d\n",i,*(iArray +i));

            

      } 

 

     system("pause");     

      

}    

 

运行如图:

16、函数的指针-5

 

1.定义int (*pf)(int x, int y);

2.赋值 pf = add;

3.引用 pf(3,5);

 

 

范例代码:

#include<stdio.h>

#include<stdlib.h>

/**

  函数指针

 

*/

 

int add(int x,int y){

   return x + y;    

main()

{    

     //函数指针定义

     int (*pf)(int x,int y);

     //函数指针赋值

     pf =  add;

     //调用函数指针

     int result =  pf(30,10);    

     printf("ressult=%d\n",result);   

     system("pause");          

}     

运行结果如图:

 

 

 

本教程由尚硅谷教育大数据研究院出品,如需转载请注明来源。

你可能感兴趣的文章
解决跨网场景下,CAS重定向无法登录的问题(无需修改现有代码)
查看>>
java反编译命令
查看>>
activemq依赖包获取
查看>>
概念区别
查看>>
final 的作用
查看>>
在Idea中使用Eclipse编译器
查看>>
idea讲web项目部署到tomcat,热部署
查看>>
Idea下安装Lombok插件
查看>>
zookeeper
查看>>
Idea导入的工程看不到src等代码
查看>>
技术栈
查看>>
Jenkins中shell-script执行报错sh: line 2: npm: command not found
查看>>
8.X版本的node打包时,gulp命令报错 require.extensions.hasownproperty
查看>>
Jenkins 启动命令
查看>>
Maven项目版本继承 – 我必须指定父版本?
查看>>
通过C++反射实现C++与任意脚本(lua、js等)的交互(二)
查看>>
利用清华镜像站解决pip超时问题
查看>>
微信小程序开发全线记录
查看>>
CCF 分蛋糕
查看>>
解决python2.7中UnicodeEncodeError
查看>>