c++栈 普通程序员该如何进阶为全栈工程师?
普通程序员该如何进阶为全栈工程师?
普通程序员高级到全栈工程师,要求很多。我从事开发工作近10年,也是一名全职工程师。作为一个过去时的人,我会给你一些建议:
1。专业技能提升要求:
DIV CSS,JavaScript,jQuery,AJAX;
MySQL
redis,mongodb
Linux
读写分离,主从同步,异步操作,消息系统,负载均衡,性能调优,elk Java,C#,PHP,python等
2。非专业技能要求:
掌握以上技术后,我将自己编写一个框架并使用
这里,我用C语言实现堆栈,代码附在文本中。
1. 堆栈表示
堆栈遵循先入后出的原则,所以我们需要顶部和底部指针。让我们用len表示当前堆栈中有多少元素,用stack size表示堆栈可以存储多少元素。以整数为例。
2. 要创建堆栈,使用malloc函数分配空间,使基指针指向空间的起始位置,并将顶部指针设置为底部指针。设len为0,stacksize为初始堆栈的最大值。这样,堆栈就被初始化了。注意:Max_u2;在进入堆栈时,我们首先考虑堆栈是否已满。如果已经满了,我们需要增加分配的空间。Realloc函数可以用来动态分配空间。具体用途可在线查询。然后将stack元素指定给top指针指向的空间,并设置top 1。这样,就完成了一个堆栈条目。
4. 离开堆栈前检查堆栈是否为空。如果为空,则会报告错误。如果不为空,则堆栈顶部指针将减少1(此处的堆栈顶部指针指向要放入堆栈的空间,因此离开堆栈时将减少1)。然后将指向空间的上指针的值赋给容器,并将长度减少1。
5. 销毁堆栈。销毁堆栈时,释放malloc分配的空间。注意:免费(s->base)是可以的。如果循环释放free(s->base),将报告错误。原因:基址没有指向malloc分配的地址。
6. difference&*&是地址符号,*是内容符号。在指针中,这两个符号非常重要。当我们需要更改函数的外部参数的值时,我们需要传入变量的地址而不是值。例如,如果我需要更改int a的值,我需要这样写:通过这种方式,我可以理解为什么在前面的函数中直接使用stack*s而不是stack s,因为直接传递的s不能更改s中元素的值。
7。区分->和。在C语言中->前面是指针和。前面是结构变量。因此,当函数传入结构指针时使用s->len,当函数传入结构变量时使用s.len。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。