c语音动态内存分配,内存重新分配,内存释放,指针运算
来源:互联网 发布:java socket链接不上 编辑:程序博客网 时间:2024/05/22 03:34
c语音基础,中的基础.大神请直接关闭本页面,多谢合作..总结下这学习到的知识点,
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<Windows.h>//void main(){//int len;//printf("请输入数组长度:");//scanf("%d", &len);//////开辟内存,大小为len*4字节//int *p = malloc(len*sizeof(int));//////给数组p赋值//int i = 0;//for (; i < len; i++){//p[i] = rand() % 100;//printf("%d,%#x\n", p[i], &p[i]);////}//system("pause");//////}void main(){int len;printf("请输入数组的长度:");scanf("%d",&len);//申请一个长度为len*sizeof(int)的内存int *p = malloc(len*sizeof(int));int i = 0;for (; i < len; i++){p[i] = rand() % 100;//给数组赋值printf("%d,%#x\n", p[i], &p[i]);}printf("请输入数组增加的长度");int add;scanf("%d", &add);//重新申请一个内存,int*p2 = realloc(p, (len + add)*sizeof(int));if (p2 == NULL){printf("内存分配失败");}i = 0;for (; i < len + add; i++){p2[i] = rand() % 100;printf("%d,%#x\n", p2[i], &p2[i]);}//第一步:释放内存//free(p);//第二步把指针置空//p = NULL;//printf("%#x\n", p);system("pause");}
主要有连个重要的函数:
//申请内存 返回一个指针,参数1为指针,参数2为大小*指针类型的长度
void * __cdecl realloc(_Pre_maybenull_ _Post_invalid_ void * _Memory, _In_ _CRT_GUARDOVERFLOW size_t _NewSize);
//重新申请内存,会保留原来数组的数据
void * __cdecl realloc(_Pre_maybenull_ _Post_invalid_ void * _Memory, _In_ _CRT_GUARDOVERFLOW size_t _NewSize);
指针运算
//4.指针的运算//指针的运算,一般在数组遍历时才有意义,基于数组在内存中线性排列的方式/*void main(){//数组在内存中连续存储int ids[] = { 78, 90, 23, 65, 19 };//数组变量名:ids就是数组的首地址printf("%#x\n",ids);printf("%#x\n",&ids);printf("%#x\n",&ids[0]);//指针变量int *p = ids;printf("%d\n",*p);//指针的加法p++; //p++向前移动sizeof(数据类型)个字节printf("p的值:%#x\n", p);//p--;printf("%d\n", *p);getchar();}
重点是指针存的是内存地址,指针++或者--表示移动sizeof(数据类型)个字节
0 0
- c语音动态内存分配,内存重新分配,内存释放,指针运算
- c c++ 动态内存分配 释放 区别
- C语言动态内存分配与释放
- 动态内存分配和释放
- 动态内存分配和释放
- C++分配/释放动态内存
- C指针内存分配
- c 动态内存分配
- c动态内存分配
- C动态内存分配
- 【C++】动态内存分配
- C动态内存分配
- C动态内存分配
- C动态内存分配
- C---动态内存分配
- C语言 指针及动态内存分配
- c语言指针与动态内存分配
- C-动态内存分配与野指针
- C++ 对象的内存布局(上)
- Informatica
- Spark作业运行原理
- Android面试之2017美团面试最新
- iOS移动端WebApp的JS与Native交互(JS与OC)
- c语音动态内存分配,内存重新分配,内存释放,指针运算
- 10个值得深思的 PHP 面试问题
- ajax往服务端发送checkbox的数组方式,服务端采用springMVC架构
- 外连接+聚合
- UEStudio快捷键
- 外链接
- C++ 对象的内存布局(下)
- 练习题 No.15 Expedition
- jQuery特性操作