自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 C语言之旅(11)链表

其实链表很简单,就是一堆结构体节点串在了一起,看下图。其实链表就是结构体面多了一个本结构体的指针,指向下一个节点,达到可以通过上一个节点找到下一个节点的位置,头尾指针无非就是人们另外定义的一个存储链表头尾的标志而已。以后好查找访问。仅此而已。

2017-11-28 14:36:01 161

原创 C语言之旅(10)a++和++a的区别

在程序中经常会用到++a和a++的代码,那么这两者到底有什么结束,a的值又是在什么时候才会发生变化的呢?我们姑且称++a为“前++”,a++为“后++”。“前++”的意思就是遇到";"号之前就会对a产生作用。例如:int a=1;return ++a;因为是“前++”,所以在程序遇到“;”号之前a已经变成了2.返回的就是数值2.“后++”的意思就是遇到";"号之

2017-11-21 17:06:49 879

原创 C语言之旅(9)递归、函数指针、宏、枚举、位运算

接下来我们要讲几个小的知识点:递归:程序调用自身的编程技巧称为递归。这样说有点笼统了不容易理解,下面我们来做实验。本来路了一个视频传不上来,算了。你们可以自己写一下这个程序,然后在20行处下个断点,监视变量num的变化,你会发现他从5逐步变成1.这是一个阶乘的函数,5*4*3*2*1=120;“递归”二字分开来分别是"传递遍历",然后是"回归"这里面是函数的自我调用也就是函数调用函数,

2017-11-16 15:22:36 258

原创 C语言之旅(8)字符串

什么是字符串?字符串就是一组以'\0'(也就是数字0)结尾的字符的数组。例如:"abcd";这就是一个字符串,字符串是存储在字符常量区的。有三种表示字符串的方式:1.char str1[]={'a','b','c','d','\0'};2.char str2[]="abcd";3.char *str3="abcd";怎么打印字符串呢:printf("%s\n",st

2017-11-09 17:59:46 141

原创 C语言之旅(7)关键字static的作用

首先在再说这个知识点之前,我先补充一个知识点。那就是文件作用域。什么是文件作用域:简而言之就是你声明的变量或者函数只在本源文件中可见。外部文件是无法识别的。static有三个重要的作用:1.声明静态全局变量;2.声明静态局部变量;3.声明静态函数。static就是一个文件作用域的关键字。1.静态全局变量:我们知道对于全局变量个静态变量存储的地点都是全局(静态)区。但是全局变量对于整

2017-11-09 14:54:44 160

转载 C语言之旅(6)内存空间的管理

本文参考:http://blog.csdn.net/wealoong/article/details/8686353C语言编译的程序占用的内存分为5个部分:1.栈区;2.堆区;3.全局区(静态区);4.文字常量区;5.程序代码区。1.栈区:程序运行的时候由编译器自动分配的,例如函数中的局部变量int a;等等。程序结束的时候由编译器自动的释放。不需要程序员进行管理。2.堆区:这块区

2017-11-08 17:45:10 185

原创 C语言之旅(5)参数传递(值传递,指针传递,数组传递)

看下图:值传递在这里我写了一个加法的函数 int Add(int a,int b); a,b是函数的形参;在这个程序中1,2是实参。值传递:实参赋值给形参,在我调用Add(1,2);函数的时候,其实是实现了两步:1.a=1,b=2;2.执行函数。这就是值传递。指针传递:从上图可以看出来我明明要进行数值c,d的交换,但是为什么输出的结果依旧是原来的。因为在这个时候

2017-11-08 15:59:13 918

原创 C语言之旅(4)const

在C语言中,const声明的变量是只读变量,并不等同于常量。const和define的区别是什么?1.对于define宏,在C语言中是单纯的替换。在预编译的是就会完成替换操作,并不检查对错。2.而const,程序在编译的时候会检查const的类型,如果不对编译会报错。3.const可以保护被修饰的东西,防止被意外或者恶意修改。例如函数中的传参数,如果用const修饰的话,在函数内部

2017-11-08 11:29:01 126

原创 C语言之旅(3)指针数组与数组指针

指针数组和数组指针这两个词汇很容易让人搞混。这就涉及到语言的层面了。首先指针数组:指针的数组(是一个数组)。数组指针:数组的指针(是一个指针)。可以这么理解指针数组是一个集合,数组指针是一个变量(或者理解为数学中的数)。指针数组:int *p[4];前面我说过去掉变量名字就是类型,那么把p去掉就变成了int * [4]; 很显然这是一个拥有4个元素的数组,每个元素的类型是int *;in

2017-11-07 18:16:41 172

原创 C语言之旅(2)数组

int arr[4]={1,2,3,4};1.什么是数组?数组就是一堆相同元素的集合。其实数组也是变量。2.数组的类型是什么?例如上面 的例子,去掉变脸股名arr,剩下的int [4]就是数组的类型。3.中括号的意义是什么?在这里有两种意义:1.用于定义数组;2.用于间接引用。4.什么是间接引用?当你定义一个如上的数组的时候相当于向内存申请了一段连续的4个in

2017-11-07 17:20:49 154

原创 C语言之旅(1)指针

指针是什么?指针是变量。指针是干什么用的?指针是存储地址的。指针占多少个字节?对于32位系统来说是4个字节,对于64位系统来说是8个字节,当前大多数用的还是32位系统。这里面说的系统不是计算机的操作系统,而是计算机架构的寻址能力。对于32位系统来说计算机的地址用8位16进制数表示。因为一位16进制数相当于4位2进制数字,32=4*8。指针的类型是什么?例如:int

2017-11-07 17:17:56 205

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除