![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C编程基础
Ym影子
做有技术深度的程序员
展开
-
使用C语言实现给字符串去重
这段时间在复习C语言编程的时候,有一位童鞋请我帮忙给他写一个字符串去重的函数,于是便花了一些时间研究了下有关于字符串去重的问题。 其实有关于C语言操作字符串,本身我感觉就是C语言的灵魂,C的存在就是为了操作内存,而不是使用C++、java等所谓高级语言的使用类似容器的操作实现去重的方法,所谓人家的接口,就是会调用就可以了,所以一些java程序员就开始各种鄙视C程序员,我...原创 2018-02-11 21:04:36 · 4417 阅读 · 0 评论 -
C语言中结构体偏移量的计算
一、先来一段理论知识 ANSI C标准允许任何值为0的常量被强制转换成任何一种类型的指针,并且转换结果是一个NULL指针,因此((s*)0)的结果就是一个类型为s*的NULL指针。如果利用这个NULL指针来访问s的成员当然是非法的,但&(((s*)0)->m)的意图并非想存取s字段内容,而仅仅是计算当结构体实例的首址为((s*)0)时m字段的地址。聪明的编译器...转载 2018-02-13 12:34:07 · 1262 阅读 · 0 评论 -
常见问题纠错:指针数组和数组指针
转载自:http://blog.csdn.net/men_wen/article/details/52694069 指针数组与数组指针详解 1.什么是指针数组和数组指针? 指针数组:指针数组可以说成是”指针的数组”,首先这个变量是一个数组,其次,”指针”修饰这个数组,意思是说这个数组的所有元素都是指针类型,在32位系统中,指针占四个字节。数组指针:数组指针可以说成是”数组的指针”,首转载 2018-02-07 15:11:35 · 190 阅读 · 0 评论 -
C语言链表的高级使用(传说中的企业级链表)
很多人在学习完链表之后几乎没有怎么用过,有这么几个原因可能导致大家对于直接写链表有一种恐惧心理:1.在学习完C++之后,尤其是学习完STL之后,会接触到一种链表容器,这个容器可以很简单的实现大家所排斥的链表的创建,增删改查,以及一些常用的基础算法,比如链表的逆序,链表的排序都有很直接的类似于“java”一样方便的接口出来,可以直接去调用,就省得出现很多bug。2.其实最主要的还是对...原创 2018-02-15 18:30:00 · 1140 阅读 · 1 评论 -
C语言实现链表逆序
写在前面的是,对于C语言链表逆序的看法:第一感觉是,我擦,这玩意什么时候能用到啊。。。。。。。残念。。。不过在面试中是会经常用到的,如果有需要的小伙伴,可以看看我总结到的一些心得体会吧。 嗯,在做链表逆序的时候先做一个简单的链表出来:#include<stdio.h> #include<malloc.h>typedef int Item;//定...原创 2018-02-15 18:55:35 · 4935 阅读 · 1 评论 -
C/C++ 中堆栈的那些事
前言:堆栈是一种具有“后进先出”(LIFO---Last In First Out)特殊访问属性的存储结构。堆栈一般使用RAM 物理资源作为存储体,再加上LIFO 访问接口实现。为什么栈向下增长?“这个问题与虚拟地址空间的分配规则有关,每一个可执行C程序,从低地址到高地址依次是:text,data,bss,堆,栈,环境参数变量;其中堆和栈之间有很大的地址空间空闲着,在需要分配空间的时候,堆向上涨,...原创 2018-02-17 13:01:08 · 359 阅读 · 0 评论 -
strcpy、strncpy、memcpy的区别
转载自:https://www.cnblogs.com/houjun/p/4913216.htmlstrcpy、strncpy、memcpy这三个C语言函数我们在主机代码编写中会很频繁的使用到,但是三个函数的区别、使用时该注意什么还是有必要说下的。本文参考《C 标准库》编写。一、函数说明1、memcpy函数void *memcpy(void *s1, const void *s2, size...转载 2018-02-08 17:22:49 · 195 阅读 · 0 评论 -
探究企业级双向循环链表
前言: 在企业中发开C,在没有前人积累的情况下实在是一件困难的事情,尤其是设计到纯C语言系统架构,内存设计,业务与数据结构的完全解耦和,有时候确实很让人苦恼的事情,C中没有C++中的template ,没有C++ 中丰富的异常处理,没有JAVA中线程安全直接就可以使用的容器,但是生活还是要继续的。。。。。现在就来讨论一下在企业中如何快速开发一款可以使用的双向循环链表。一:双向循环链表(C语言版本)...原创 2018-03-01 16:16:20 · 279 阅读 · 0 评论