指针笔记_2
发布日期:2021-11-20 10:17:32
浏览次数:9
分类:技术文章
本文共 1386 字,大约阅读时间需要 4 分钟。
指针变量和一维数组
1.静态分配内存: 一维数组和指针变量
1.1确定一维数组需要两个参数:数组里面存放的个数和数组的长度 **注意:*数组名存放的是数组的首地址,所以若 int a[5]; int p;则 可以写成 *p =a[0];#includevoid f(int* pArr,int len) { int i; for (i = 0; i < len; i++) { //printf("%d\n", *(pArr + i));//第一种写法 printf("%d\n", pArr [i]);//第二种,因为*(pArr + i)等价于pArr [i], } }int main(){ int a[5] = { 1,2,3,4,5 }; f(a,5); return 0;}
这样的定义方法必须事先定义好数组的个数和长度且不能改变。所以出现了动态内存分配
2 动态内存分配和一维数组
2.1 知识点 1.动态内存和静态内存的比较: 静态内存是由系统自动分配,由系统自动释放的, 静态内存是在栈中分配 动态内存是由程序员手动分配,手动释放 动态内存是在堆中分配的 2. 传统数组的缺点: 1. 数组的长度必须事先指定,且只能是常整数,不能是变量 // 即静态数组 例子:int a[5];正确 但是 int len=5; int a[len];错误,因为数组的长度不能是一个变量 2. 传统形式定义的数组,该数组的内存程序员无法手动释放,数组一旦定义,系统为该数组分配的存储空间就会一直存在, 除非数组所在的函数运行结束,在一个函数运行期间,系统为该函数中数组所分配的 间,系统为该函数中数组所分配的空间会一直存在,直到该函数运行完毕时,数组的空间才会释放 3.数组的长度不能在函数运行中,动态的扩充或缩小 4.A函数定义的数组,在A函数运行期间可以被其他函数使用,但A函数运行完毕之后,A函数中的数组将无法被其他函数使用 3.所需要的函数和头文件 函数:(数据类型*)malloc(长度) 例如:p = (int*)malloc(4); 头文件: #include <malloc.h>#include#include //动态内存分配时必须包含int main(){ int a[5]; int len; int* p; int i; //动态创建一维数组 printf("请输入要存放的元素个数:"); scanf_s("%d", &len);//**输入函数,()函数的格式是这样的** p = (int*)malloc(4 * len);//类似于int p[len];本行动态的构造了一个一维数组,该数组的数组名为p //p指向的是创建的第一个字节 //对一维数组进行赋值 for (i = 0; i < len; i++) { scanf_s("%d", &p[i]);//输入函数 } //对一维数组进行输出 for (i = 0; i < len; i++) { printf("%d\n", p[i]); } return 0;}
补充自己的弱智c问题: scanf("%d\n",&a)输入函数,
转载地址:https://blog.csdn.net/weixin_43223362/article/details/101313611 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2024年04月18日 04时05分43秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
安卓之TranslateAnimation图片移动
2019-04-26
简述Handler
2019-04-26
安卓——套接字Socket通信(未完)
2019-04-26
安卓——蓝牙listView搜索以及点击事件
2019-04-26
安卓——WIFI列表以及点击事件
2019-04-26
安卓——WIFI连接
2019-04-26
安卓——关于一些ui界面设置(直续更新ing)
2019-04-26
刷门禁——判断卡号是否一样(String==String)出现False
2019-04-26
好久没刷题了(阿里测试题)
2019-04-26
安卓界面——最开始界面的加载
2019-04-26
安卓——屏蔽陌生来电
2019-04-26
安卓——小笔记
2019-04-26
客户端面试万金油
2019-04-26
【u3d泰斗破坏神】05 --- 角色移动 velocity 的相关问题
2019-04-26
【u3d泰斗破坏神】06 --- Loading界面进度条Slider的使用
2019-04-26
【u3d泰斗破坏神】07 --- 角色攻击动画拆分、状态机设计
2019-04-26
【u3d泰斗破坏神】08 --- UGUI 制作艺术字体
2019-04-26
【u3d泰斗破坏神】09 --- 角色血条的制作、掉血特效
2019-04-26
Unity Shader 入门精要(01) -- 渲染流水线
2019-04-26
Unity Shader 入门精要(02) -- shader的编码基础
2019-04-26