下载此文档

黑马程序员安卓教程:C 程序结构案例.doc


文档分类:IT计算机 | 页数:约4页 举报非法文档有奖
1/4
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/4 下载此文档
文档列表 文档介绍
黑马程序员安卓教程:C 程序结构案例
C 程序结构案例-不同变量在内存中的区域
当我们使用 Project 下的 Clean 操作时,经常会出现 R 文件丢失的问题,凡是出现这样的问题都是由于 res 目录下的错误引起的,如布局文件书写错误之类。对于具体的错误信息如何纠正,可以根据控制台 Console 所列出的错误信息进行对应的更改即可。 1. int a= 0;//全局初始化区 2. char *p1; //全局未初始化区 3. main() 4. {
=0;//全局(静态)初始化区
6.
7.
8.
9. int b;//栈 chars[]="abc"; //栈char*p2; //栈 char*p3="123456"; //"123456\0"在常量区,p3 在栈上。 17
10. 11. p1 =(char*)malloc(10); p2 =(char*)malloc(20); //分配得来得 10 和 20 字节的区域就在堆区。12. }
案例-动态内存的申请与回收
静态内存是由系统分配的,是栈内存中的连续内存空间,其运行效率非常高,且可以被系统自动回
收。但是在某些情况下我们需要动态的申请一些内存空间,比如,在创建数组的时候我们不知道数组的长度是多少,那么我们就需要创建动态数组
动态内存是程序员手动申请的在堆内存中开辟的空间不一定是连续,,运行效率略慢,容易产生碎片
需要手动回收
1. #include<> 2. main(){
3. int*p; 4. printf("%d\n",*p);
5.//动态申请4个字节内存,强转为int*类型。如果不动态申请内存,则程序运行报错
6. p=(int*)malloc(4); 7. *p=3;
8. printf("%d\n",*p);
9.//回收内存
10.
11. 12.
13. } free(p); printf("%d\n",*p); system("pause");
运行结果如图:
:通过运行结果可以看到在申请内存前 p 指针是一个野指针指向一个不确定值,当调用 free(p) 方法,指针又指向一个不确定值。
案例-动态分配数组长度
如果使用低版本的模拟器运行程序解析 Json 时(API 为 10),会出现解析错误,这是由于低版本模拟器的 bug 造成的。因此,在测试时应使用 Android 以上的版本进行模拟测试。 1. #include<> 2. main(){
3. // 动态录入数组
18
4.
5.
6.
7. 8. 9. 10. 11. // 先录入数组的长度 int len; printf("请录入数组的长度\n"); scanf("%d",&len); //动态申请内存空间 int* iarray=malloc(sizeof(int)*len);int i; for(i=0;i<len;i++){ printf(" %d \n",i) ; 录入第个元素的值 12.
} 13.

黑马程序员安卓教程:C 程序结构案例 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数4
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wz_198614
  • 文件大小17 KB
  • 时间2017-11-14