指针之动态分配内存
来源:互联网 发布:人工智能概念龙头股 编辑:程序博客网 时间:2024/05/20 10:13
一、动态数组
/*2016年9月4日21:08:23动态数组*/#include<stdio.h>#include<malloc.h>int main(void){int a[5]; //静态数组int len;int i;printf("请输入动态数组的长度:");scanf("%d", &len);int * pArr = (int *)malloc(sizeof(int) * len); //动态数组//输入数组的值printf("请输入动态数组的值:\n");for(i = 0; i < len; ++i){scanf("%d", &pArr[i]); }//输出数组的值for(i = 0; i < len; ++i){printf("%d\n", pArr[i]);}return 0;}
二、跨函数使用内存
/*2016年9月4日22:15:39跨函数使用内存*/#include <stdio.h>#include <malloc.h>void f(int ** q){ *q = (int *)malloc(sizeof(int)); **q = 5;}int main(void){ int * p; f(&p); printf("%d\n", *p); return 0;}
注意下面下面的写法是错误的:
#include<stdio.h>#include<malloc.h>void f(int * q){q = (int *)malloc( sizeof(int) ); //虽然q指向的一块动态内存,但q是形参,但f函数运行结束后q就没了,所以不能修改p的值*q = 4;}int main(void){int * p;f(p); //要想修改p的值只能发送p的地址printf("%d\n",*p);return 0;}
0 0
- 指针之动态分配内存
- 递归、内存的动态分配、指针
- 动态分配内存与悬空指针
- 动态分配内存的指针问题
- 动态分配内存与二级指针
- 动态分配内存之new
- 二维指针与三维指针动态分配内存
- C++之 new 动态分配内存
- C语言之动态分配内存
- C++基础之动态分配内存
- C++基础之动态分配内存
- C/C++之动态分配内存
- C语言复习 指针和动态分配内存
- 二维指针动态分配内存连续问题分析
- 动态分配内存返回地址对齐的指针
- C++指针和数组和动态分配内存
- 动态分配的内存释放之后指针要置空
- NDK开发学习之C学习基础篇-2(函数指针,字符串,动态分配内存)
- Boostrap基础排版
- lightoj1046 Rider(广搜BFS)
- mysql 数据类型
- 华为上机 字符串合并处理 java
- Linux_虚拟地址、线性地址和物理地址的转换
- 指针之动态分配内存
- 字符串反转 转换大小写的三种方法
- wireshark抓到tcp包大于mss的包
- 重装电脑遇到的问题(三)
- C#控制台基础 使用file类永久性删除一个文件
- C++类详解
- 初识c++的类
- xml解析
- Install Adobe Flash plugin in Ubuntu 14.04