目录

  • 一、学习的知识点
    • 作业
    • 指针
    • 链表
  • 二、上课没有听懂或者没有理解的地方
  • 三、当天学习的收获
  • 四、作业的思路、不会的地方
  • 五、其他需要反馈的问题
  • 六、心得体会

一、学习的知识点

作业

  1. puts函数:显示字符串,并把末尾的字符串结束符 “\0”替换成换行符“\n”字符输出
  2. 下标越界:char s[5]={“ABCDE”}; char s[5]={‘A’,‘B’,‘C’,‘D’,‘E’};
  3. 野指针:char *s;scanf("%s",s);

指针

//指针的指针:保存指针变量的地址,本质还是指针,通常用在指针数组作为函数参数的时候
char name[20]="admin";
char *ptemp="hello"; //
char *pstr=name;
char **pts; //占用4字节空间,指针数组char *p[10];在形参中用指针的指针表示
pts=&pstr;//结构体指针,保存结构体的地址。结构体变量作为函数参数的时候,可以使用结构体指针
typedef struct staff
{char name[20];char pwd[10];int id;int role; //0-管理员 1-服务员 2-经理}STAFF_T;STAFF_T user[3]={{"admin","123456",100113,0},{"waiter","123456",100114,1}, {"manager","123456",100115,2}};
STAFF_T *puser=NULL;
int i;
puser=user; //指向结构体数组
printf("%s\n",(puser+1)->name);//函数指针:本质还是指针,指向函数的指针,存放的是函数的地址
int sum(int a,int b); //函数声明
int (*pfun)(int c,int d)=sum;//函数指针的定义
pfun(4,5); //函数调用
void (*Init[3])={adminInit,managerInit,waiterInit};//无类型指针可以接收任意类型的指针变量,但是任意类型指针不能直接保存无类型指针,必须进行强制类型转换const int *pst=&a; //const 修饰指针变量的值(即地址)是可以修改的,但是指针指向地址的内容是不能修改的
int *const pst //pst的指针不能改,(pp=&i;语句错误),但指针指向地址的内容是可以修改的
//const右侧是内容,则内容不能改,右侧是指针,则指针不能改。

链表

malloc()函数;stdlib.h,允许从空闲内存池中分配内存。函数原型:void *malloc(size_t bytes);size_t byte:要申请的字节数。返回值:成功时返回内存段首地址,否则返回NULL
内存初始化函数:void *memset( void *buffer, char ch, size_t n);string.h参数:buffer是需要设置的内存的开始地址;ch是期望填充的值; n是需要填充的字节数。返回值:成功时返回buffer的首地址,否则返回NULL
free()函数:void free(void *p) p必需是通过malloc、calloc或realloc分配的指针(首地址)
calloc()函数: 存储在已分配的内存空间中的值默认为零。函数原型: void *calloc(size_t num,size_t bytes );size_t num 要分配内存单元的个数。size_t bytes 每个内存单元的字节大小。返回值: 成功时返回内存段首地址,否则返回NULL

typedef struct staff
{char name[20];char pwd[10];int id;int role; //0-管理员 1-服务员 2-经理STAFF_T *preSTAFF_T *pnext
}STAFF_T;
//结构体变量指针-保存地址
STAFF_T *puser=NULL;
puser=(STAFF_T *)malloc(sizeof(STAFF_T)); //开辟内存空间
puser1=calloc(3,sizeof(STAFF_T));
if(puser==NULL) //puser==NULL,开辟失败
{return -1;
}
//开辟成功,进行内存初始化
memset(puser,'\0',sizeof(STAFF_T)*4); //对指针指向的地址开辟空间//保存数据
puser->ID=1001;
strcpy(puser->name,"admin");
//释放内存空间
free(puser)

二、上课没有听懂或者没有理解的地方

三、当天学习的收获

学习了新技能 链表

四、作业的思路、不会的地方

还未开始

五、其他需要反馈的问题

六、心得体会

关于结点的连接思路还有点陌生,还要捋捋。

200815-C指针高级和链表相关推荐

  1. C和指针之高级指针话题通过函数指针实现在链表中找到特定的值

    1.问题 通过函数指针实现在链表中找到特定的值,这里可以是int 类型或者char *类型 思路:      整形数据自己写比较函数,字符串比较用strcmp,然后把这个函数指针传递到函数作为参数. ...

  2. 二维指针删除单向链表

    Linus slashdot:    https://meta.slashdot.org/story/12/10/11/0030249 原文: https://coolshell.cn/article ...

  3. 链表问题9——复制含有随机指针节点的链表(进阶)

    题目 具体题目信息可以参考上一篇文章. 进阶:不使用额外的数据结构,只用有限几个变量,且在时间复杂度为O(N)内完成原问题要实现的函数. 思路 进阶解法不使用哈希表来保存对应关系,而只采用有限的几个变 ...

  4. 链表问题9——复制含有随机指针节点的链表(初阶)

    题目 public class Node{public int value;public Node next;public Node rand;public Node(int data){this.v ...

  5. 如何复制一个含有随机指针节点的链表

    复制含有随机指针节点的链表 一种特殊的链表节点类描述如下: public class Node {public int value;public Node next;public Node rand; ...

  6. 算法练习day10——190328(根据指定值划分单链表、复制含有rand指针节点的链表、两个单链表相交)

    1.将单向链表按某值划分成左边小. 中间相等. 右边大的形式 [题目] 给定一个单向链表的头节点head, 节点的值类型是整型, 再给定一个整数pivot. 实现一个调整链表的函数, 将链表调整为左部 ...

  7. 利用二级指针删除单向链表

    http://coolshell.cn/articles/8990.html Linus举了一个单向链表的例子,但给出的代码太短了,一般的人很难搞明白这两个代码后面的含义.正好,有个编程爱好者阅读了这 ...

  8. 数据结构与算法之复制含有随机指针节点的链表和两个链表相交的一系列问题

    数据结构与算法复制含有随机指针节点的链表和两个链表相交的一系列问题 目录 复制含有随机指针节点的链表 两个链表相交的一系列问题 1. 复制含有随机指针节点的链表 题目概述 思路:创建一个HashMap ...

  9. 左神算法:复制含有随机指针节点的链表 / 复杂链表的复制(Java版本)

    本题来自左神<程序员代码面试指南>"复制含有随机指针节点的链表"题目. 题目 一种特殊的链表节点类描述如下: public static class Node {pub ...

最新文章

  1. 【c语言】蓝桥杯基础练习 闰年判断
  2. mac os x安装php7.0和phalcon3.0
  3. 【玩转树莓派】使用 sinopia 搭建私有 npm 服务器
  4. 洛谷 1137 旅行计划
  5. 编译linux内核适用的编译器,编译Linux内核时,CC,LD和CC [M]输出的代码是什么?...
  6. julia 数组类型转换_在Julia中确定类型的超类型
  7. .Net Core WebApi(三)在Linux服务器上部署
  8. 如何在windows下安装GIT
  9. 手动配置 iis php环境,iis上手动配置php
  10. STL 中的容器们(三)
  11. 2013Esri中国用户大会,show应用,赢大奖--获奖名单公布!
  12. 工具 文库免积分下载、其他工具
  13. 淘宝打折骗局--尤其硬盘
  14. android10全面屏手势 操作图,丨系统设计丨ZUI 10加入更多全面屏手势
  15. 数据库插入、删除、修改语句
  16. 树莓派官方摄像头测试
  17. 使用QT实现Mjpeg-streamer的客户端,采用单独的线程进行视频图片的获取
  18. Excel中利用宏批量生成md5加密
  19. 网上跳蚤市场网站系统HTML5+Vue+nodejs
  20. MAX() OVER() 函数

热门文章

  1. 使用Spring工厂模式管理多个类实现同一个接口
  2. 浅析Memcache和Redis
  3. Linux下运行jar程序
  4. [转]常用数字处理算法的Verilog实现
  5. 邮件列表统计(网站推广)
  6. 上接游戏人生Silverlight(2) - 趣味钢琴[Silverlight 2.0(c#)]
  7. 解决ora-280000 the account is locked
  8. springboot项目中pom.xml文件的颜色变成灰色,图标变成蜘蛛图形
  9. linux 源码 在线浏览,Linux下实现文档在线浏览
  10. eureka对比Zookeeper: