C
-TNT-
念念不忘,必有回响
展开
-
动态内存管理
动态内存(动态内存在堆上开辟) 为什么存在动态内存分配? 先看一组例子 int val =20;//在栈上开辟4字节空间 int a[12]={0};//在栈上连续开辟10字节空间 以上方式的特点: 空间开辟大小是固定的 在数组声明时,必须指定大小 先介绍片C内存区域划分 1.栈区(stack):在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。栈区主要存放运行函数而分配的局部变量、原创 2020-11-29 22:06:22 · 170 阅读 · 4 评论 -
C语言结构体的内存对齐
结构体 是由一批数据组合而成的一种新的数据类型。组成结构型数据的每个数据称为结构型数据的“成员”。 结构体的声明 struct tag{ member-list; }variavle-list; //例如学生结构体 struct Stu{ char name[20]; //名字 int age; //年龄 char sex[5];//性别 char id[10];//学号 }; 特殊声明 //匿名结构体 struct { int a; int b; float c; }x; 结构体的自引用必须使用指针原创 2020-11-22 23:21:01 · 124 阅读 · 0 评论 -
深度解析数组与指针(一)
数组与指针数组注意:注意**数组名是什么?**数组作为函数参数指针 数组 数组:是一组相同类型元素的集合 一维数组 :type arr_name [size] 数组创建: int arr1[10]; int count = 10; int arr2[count]; 数组的初始化是指:在创建数组的同时给数组的内容一些合理初始值(初始化)。 int arr2[] = {1,2,3,4}; int arr3[5] = {1,2,3,4,5}; char arr4[3] = {'a',98, 'c'}; c原创 2020-11-17 22:19:26 · 171 阅读 · 0 评论