c语言基础
vanlyy
优秀的猪猪饲养员
想要了解某个技术,请阅读一些相关文档;
想要明白某个技术,请尝试实践这些技术;
想要悟透某个技术,请尝试向他人讲解此技术。
展开
-
C编程学习之(一)——c的编译过程
文章目录C语言编译流程Demo预处理编译汇编链接链接分静态和动态链接两种链接的区别库搜索路径顺序来源于简单介绍了编译、链接与.h文件C语言编译流程C语言编译流程对于一个gcc hello.c,接着./a.out 执行,其实gcc经过了四个步骤1.预处理(Preprocessing), 2.编译(Compilation), 3.汇编(Assemble), 4.链接(Linking)。D...原创 2020-02-19 23:09:33 · 173 阅读 · 0 评论 -
C编程学习之(二)——头文件的一些约定俗成的规则
文章目录c/c++头文件中#ifndef/#define/#endif的用法为什么要用#ifndef如何使用#ifndef关于extern "c"关于#ifdef _cplusplus/#endif _cplusplusextern关键字extern "c"关于declspec什么是extern "c" _declspec 与 _declspec在Linux中关于使用.defhttps://ww...原创 2020-02-18 23:35:46 · 576 阅读 · 0 评论 -
C语言学习之——存储与内存管理
文章目录存储类别的表征存储期作用域链接存储类别自动寄存器静态、无链接静态、外部连接静态、内部链接动态分配内存malloc freecallocc存储类别的表征内存用于存储程序中的数据,由存储期、作用域、和链接表征。被储存的每个值都占用一定的物理内存,C语言把这样的一块内存称为对象对象可以储存一个或多个值,一个对象可能并未储存实际的值,但是他在储存适当的值时一定具有相应的大小对于int ...原创 2020-02-26 22:15:58 · 452 阅读 · 0 评论 -
C语言学习之——字符串函数
文章目录空字符与空指针字符输入输出缓冲区文件结尾字符串输入输出gets()fgets()字符串函数strlenstrcat与strncatstrcmp与strncmpstrcpy() 与 strncpy()atoi atol atof空字符与空指针/0是空字符,用来标记字符串末尾的字符,对应的ASCII码是0,他是一个字符,占1字节NULL 是空指针,他不会与任何有数据的有效地址对应,是指...原创 2020-02-26 00:02:38 · 181 阅读 · 0 评论 -
C语言学习之字符串与指针
来源于C Primer Plus文章目录定义字符串字符串字面量字符串数组 初始化数组和指针指针和数组的区别字符串数组定义字符串字符串字面量用双引号括起来的内容为字符串字面量,也叫字符串常量双引号中的字符,编译器自动加入末尾的\0字符,作为字符串储存在内存中字符串常量属于静态存储类别,用双引号扩起来的内容被视为指向该字符串储存位置的指针。这类似于把数组名作为指向该数组的指针demo...原创 2020-02-25 21:05:50 · 433 阅读 · 0 评论 -
C语言学习之——数组与指针
最近看C相关的代码,总是很吃力,所以决定看看C Primer Plus这本书,这里对指针,字符串这些常用的部分做一个笔记文章目录原创 2020-02-25 01:20:32 · 276 阅读 · 0 评论 -
堆和栈的区别
http://www.cnblogs.com/TonyEwsn/archive/2010/01/29/1659496.html转载 2017-09-21 20:49:46 · 153 阅读 · 0 评论 -
链表 头指针 头结点
http://blog.csdn.net/zhenyusoso/article/details/6092843转载 2017-09-21 14:32:58 · 165 阅读 · 0 评论 -
关于typedef
typedef struct Student { int a; }Stu, *pStu;pStu是Stu类型的指针。 就像int*一样。 可以Stu student;pStu p;p=&student;转载 2017-09-20 17:38:07 · 196 阅读 · 0 评论 -
关于单链表的基础知识
1、链接存储方法 链接方式存储的线性表简称为链表(Linked List)。 链表的具体存储表示为: ① 用一组任意的存储单元来存放线性表的结点(这组存储单元既可以是连续的,也可以是不连续的) ② 链表中结点的逻辑次序和物理次序不一定相同。为了能正确表示结点间的逻辑关系,在存储每个结点值的同时,还必须存储指示其后继结点的地址(或位置)信息(称为指针(pointer转载 2017-09-20 17:34:00 · 602 阅读 · 0 评论 -
c0201时遇到的问题
多项式合并同类项,实现乘法加法#include<stdio.h>#include<stdlib.h>struct PolyNode{ int coef; int expon; struct PolyNode* link;};typedef struct PolyNode *Polynomial;Polynomial ReadPoly(void);void Atta原创 2017-09-28 08:36:07 · 308 阅读 · 0 评论 -
c0201时遇到的问题
Read.c:13:1: warning: type specifier missing, defaults to ‘int’ [-Wimplicit-int] Print(List L); 即使函数没有返回项, 要加void print(list l);Read.c:31:13: warning: incompatible pointer types assigning to ‘PtrToNo原创 2017-09-25 20:14:28 · 1695 阅读 · 0 评论 -
数据结构的堆栈和内存的堆栈
堆和栈的区别 之 数据结构和内存 可能很多同学在这个概念上有些模糊,其实堆栈分为数据结构和内存的。数据结构的堆栈我想很多同学学习过,今天介绍下数据结构的堆栈,但是重点是内存的堆栈整理。数据结构的栈和堆首先在数据结构上要知道堆栈,尽管我们这么称呼它,但实际上堆栈是两种数据结构:堆和栈。堆和栈都是一种数据项按序排列的数据结构。栈就像装数据的桶或箱子我们先从大家比较熟悉的栈说起吧,它是一种具有后进先出性转载 2017-09-24 21:04:39 · 283 阅读 · 0 评论 -
NULL '0' '/0' 0 的区别
如题,在程序中经常遇到NULL,和’\0’,常常疑惑它们是什么关系,其实它们的值是一样的,只不过表现的形式不一样:1、NULL; NULL 即空指针,在C和C++中的形式不一样,msdn上有如下的内容那个:if !defined(NULL)&&defined(__NEEDS_NULL)ifdef __cplusplusdefine NULL 0elsedefine NULL ((void *)0)e转载 2017-09-25 14:43:48 · 325 阅读 · 0 评论 -
static的作用
http://www.cnblogs.com/biyeymyhjob/archive/2012/07/19/2598815.html转载 2017-09-24 21:31:29 · 180 阅读 · 0 评论 -
关于 栈 和 堆
栈区(stack)—由编译器自动分配和释放,申请速度快,但程序员无法控制。主要存放函数的参数值、局部变量等。栈顶地址小于栈的基地址。堆区(heap) —-由程序员分配和释放,由new和malloc申请,delete和free释放,分配的内存区不一定是连续的,类似链表。若程序员不释放,程序结束是可能由OS回收。全局数据区(static) —存储全局变量和静态变量,即使是函数内部的静态变量也存储在此区域转载 2017-09-24 18:40:34 · 158 阅读 · 0 评论