开始学习数据结构了,今天学习了一些动态分配空间的知识,malloc函数,并了解了它的各种使用情况,还有回收函数free,在指针回收的时候为了避免野指针,需要将指针指向NULL....等等。下面是脑图:

day1作业

因为是多文件编辑我将2个题的头文件和函数文件都写在了一起

第一题的main函数:

#include "head.h" int main(int argc, const char *argv[])
{int n;printf("请输入字符串的长度\n");scanf("%d",&n);getchar();char *p = spaceChar(n);printf("输入字符串各个值\n");MyinputChar(p,n);Myprint(p);printf("逆置后的结果是\n");Nizhi(p);free(p);p = NULL;return 0;
}

第二题的main函数:

#include "head.h"int main(int argc, const char *argv[])
{int n,m;printf("请输入要分配的空间大小\n");scanf("%d %d",&n,&m);int *p = spaceInt(n);int *key = spaceInt(m);printf("请输入%d个整形数\n",n);MyinputInt(p,n);printf("请输入%d个整形数\n",m);MyinputInt(key,m);printf("检查是否存在\n");Check(p,key,n);free(p);free(key);p == NULL;key == NULL;return 0;
}

head头文件:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>int *spaceInt(int n);
char *spaceChar(int n);void MyinputChar(char *p,int n);
void MyinputInt(int *p,int n);void Myprint(char *p);void Nizhi(char *p);void Check(int *p,int *key,int n);

函数文件:

#include "head.h"int *spaceInt(int n){int *p = (int *)malloc(sizeof(int)*n);if(p == NULL){return NULL;}return p;
}char *spaceChar(int n){char *p = (char *)malloc(sizeof(char)*n);if(p == NULL){return NULL;}return p;
}void MyinputChar(char *p,int n){for(int i = 0 ; i < n; i ++){if(i == n - 1){*(p+i) = '\0';break;}scanf("%c",p+i);getchar();}
} void MyinputInt(int *p,int n){for(int i = 0 ; i < n; i ++){scanf("%d",p+i);getchar();}
} void Myprint(char *p){int n = 0;while(*(p+n)){printf("%c",*(p+n));n++;}printf("\n");
}void Nizhi(char *p){int right = strlen(p) - 1;int left = 0;while(left < right){char a = *(p+left);*(p+left) = *(p+right);*(p+right) = a;left ++;right --;}puts(p);
}void Check(int *p,int *key,int n){for(int i = 0; i < n; i ++){if(*key == *(p+i)){printf("存在\n");return;}}printf("不存在\n");
}

第一题结果:

第二题结果:

嵌入式工程师之数据结构相关推荐

  1. 嵌入式工程师之数据结构day2

    今天对数据结构有了更深入的了解,通过typedef如结构体进行联系,来减少我们的代码量,结构体不只能够存储基本类型,还能够存储结构体与共用体,这就涉及到结构体之间的嵌套了,要注意的是结构体嵌套之后的调 ...

  2. 给嵌入式工程师的一封信

    最近经常有用人单位给我打来电话,问我这有没有嵌入式Linux方面的开发人员,他们说他们单位急需要懂得在嵌入式linux环境下的软件开发人员,我回答说,现在每年毕业的大学生那么多,还招不到合适的软件开发 ...

  3. 嵌入式工程师最后都选择了什么职位?

    大家好,我是张巧龙,今天给大家分享一篇关于嵌入式工程师的岗位文章. 嵌入式工程师分布在各行各业上面,这其中包括了消费电子.工业电子.汽车电子和军用电子等. 从功能上面看,嵌入式本身包括了51.mcu. ...

  4. 什么是嵌入式工程师,发展前景如何

    什么是 嵌入式 软件工程师?        嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能.可靠性.成本.体积.功耗有严格要求的专用计算机系统.它一般由嵌入式微处 ...

  5. 随想录(嵌入式工程师的出路)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 嵌入式工程师分布在各行各业上面.这其中包括了消费电子.工业电子.汽车电子和军用电子等等.从功能上 ...

  6. 嵌入式工程师是硬件工程师么‘_硬件工程师修炼真经

    导师分配课题项目做了,我想选择硬件,毕竟大学本科从事过电子大赛,熟悉一些,对这方面感兴趣,深知自己没有熟练掌握硬件技术,所以从网上搜索了硬件工程师所要学习的知识和技能,和大多数初学者一起共享.加油! ...

  7. 嵌入式工程师的面试指南

    文章来源:电子通信.嵌入式工程师的面试指南 今天我们聊聊电子通信,嵌入式工程师面试的那些事. ... 一.公司面试求职者的目的是什么 寻找备胎的公司. 团队大体成形,有缺人的hc名额,但是项目不急的公 ...

  8. 嵌入式工程师的2022 || 2023

    因为一些个人关系,2022年初我从北京回到了石家庄.在找工作,包括后续的研发工作中,不同地点的经历在对比中我逐渐总结出了一些经验.关于"人"方面的感悟我就不赘述了,下面主要在这里总 ...

  9. 电子通信、嵌入式工程师的面试指南

    作者:火哥 授权转载自公众号嵌入式老鸟的职场之道(id:ict_embedded) 一.公司面试求职者的目的是什么 <孙子兵法>有云知己知彼,百战不殆,当然百战不殆并不等于百战百胜,而是说 ...

最新文章

  1. PLT、POT、延迟绑定
  2. 华为手机的nfc是什么功能_华为手机NFC只用来乘车?这个功能还不会用,几千块手机亏了...
  3. 服务没有报告任何错误。 请键入 NET HELPMSG 3534 以获得更多的帮助。
  4. 重载内核全程分析笔记
  5. Vector反向迭代器使用
  6. 第1章:初始C#及其开发环境
  7. php5的mysqli函数第二个参数,关于php:我应该将$ mysqli变量传递给每个函数吗?
  8. Hulu兰华峰:专注平衡用户体验和成本
  9. python中的def语句_Python def 函数
  10. Mac终端使用技巧 切换到其他路径和目录
  11. Dev-Cpp 切换界面语言中文
  12. Java顺序表 实现扑克牌游戏简单 (梭哈 / 斗牛)
  13. 关于scf文件与找回丢失的显示桌面图标
  14. uni-app学习日记7
  15. SVN(Subversion)中文版安装教程
  16. 袁崇焕的悲剧在于忘了自己是一颗棋子以为有autonomy
  17. 服务器主板显示ff,主板诊断卡跑FF的原因及检查思路
  18. Day 11-常用 Composition API_shallowReactive shallowRef
  19. t420i升级固态硬盘提升_小体积、大性能、台式机笔记本升级可选,酷兽M.2 SSD固态硬盘测评...
  20. 基于Javaweb网上书城系统|购书电商商城

热门文章

  1. 几维安全:千锤百炼,锻造移动游戏安全防护黄金铠甲 1
  2. LeetCode 234
  3. 光学识别OCR软件Readiris Pro 17 for Mac
  4. 社区举办“杀戮游戏”,你是幸存的那个吗?
  5. 对象转换字符串格式的JSON
  6. 一个永久免费的图片鉴黄api接口
  7. 【云计算课程】Lecture 1 云计算概述
  8. 牛视系统源码定制开发come here,抖音矩阵系统。
  9. 个人职业规划和人生规划的方法分享
  10. Win10启动VMware虚拟机开机秒蓝屏问题完美解决