<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[TRLblog的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/TRLblog</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; TRLblog]]></copyright><item><title><![CDATA[什么是野指针]]></title><link>https://blog.youkuaiyun.com/TRLblog/article/details/53526946</link><guid>https://blog.youkuaiyun.com/TRLblog/article/details/53526946</guid><author>TRLblog</author><pubDate>Thu, 08 Dec 2016 23:48:24 +0800</pubDate><description><![CDATA[qq_15437667的博客





118
原创


20
转载


1
译文


3
评论


25428
访问




京 ICP 证 070598 号

Copyright © 1999-2016, 
youkuaiyun.com, All Rights Reserved
















]]></description><category></category></item><item><title><![CDATA[C语言函数]]></title><link>https://blog.youkuaiyun.com/TRLblog/article/details/53526908</link><guid>https://blog.youkuaiyun.com/TRLblog/article/details/53526908</guid><author>TRLblog</author><pubDate>Thu, 08 Dec 2016 23:45:35 +0800</pubDate><description><![CDATA[今天主要学习的是函数的内容，在上课之前我们回顾了一下上节课讲的数组指针的知识，提到了指针和数组的区别：
1 空间分配：数组是静态分配空间，指针是动态分配空间，数组空间利用率低
2 访问效率：指针是对地址做操作，可以访问硬件，灵活性高
3 安全性：指针相对于数组访问更加灵活（容易造成内存泄露）
4 函数形参

计算机三大组成部分：cpu，内存，硬盘
嵌入式三种：软件，操作系统，硬件
]]></description><category></category></item><item><title><![CDATA[函数指针]]></title><link>https://blog.youkuaiyun.com/TRLblog/article/details/53471107</link><guid>https://blog.youkuaiyun.com/TRLblog/article/details/53471107</guid><author>TRLblog</author><pubDate>Mon, 05 Dec 2016 22:39:03 +0800</pubDate><description><![CDATA[今天上课学习的主要内容是函数指针。一开始回顾了一下我们上节课讲的数组指针，传数组指针的数组名用二维指针来接
（char **argv）argv两个*，可能是指针数组，也可能是指针的地址，
函数名是一个指针常量，这个常量保存的是函数的入口地址。

int (*p_func)func(int,int);这是一个函数指针。
函数名是可以用实参传递的，函数指针在函数传参的时候用，
函数指针做形]]></description><category></category></item><item><title><![CDATA[数组与数组名]]></title><link>https://blog.youkuaiyun.com/TRLblog/article/details/53454551</link><guid>https://blog.youkuaiyun.com/TRLblog/article/details/53454551</guid><author>TRLblog</author><pubDate>Sun, 04 Dec 2016 15:41:10 +0800</pubDate><description><![CDATA[Char * dest = (char *) malloc (sizeof(char) *100);给dest指针分配空间的例子。
今天学习的是数组的知识，有一个数组，比如a[10]；首先我们知道一个数组的数组名是一个指针常量，这个常量保存的是首个元素的地址。
&a：对数组名取地址等于数组的地址。
*（&a）：对以为数组的地址取值等于一位数组首个元素的地址。
数组有一维有二维有三维，定义一]]></description><category></category></item><item><title><![CDATA[malloc的实现原理]]></title><link>https://blog.youkuaiyun.com/TRLblog/article/details/53440313</link><guid>https://blog.youkuaiyun.com/TRLblog/article/details/53440313</guid><author>TRLblog</author><pubDate>Fri, 02 Dec 2016 23:14:28 +0800</pubDate><description><![CDATA[malloc（）是C语言中动态存储管理 的一组标准库函数之一。其作用是在内存的动态存储区中分配一个长度为size的连续空间。其参数是一个无符号整形数，返回值 是一个指向所分配的连续存储域的起始地址的指针。 
　　动态内存分配 就
 是指在程序执行的过程中动态地分配或者回收存储空间的分配内存的方法。动态内存分配不像数组等静态内存分配方法那样需要预先分配存储空间，而是由系统根据 程序的需要即时分配]]></description><category></category></item><item><title><![CDATA[指针的基础知识补充]]></title><link>https://blog.youkuaiyun.com/TRLblog/article/details/53440203</link><guid>https://blog.youkuaiyun.com/TRLblog/article/details/53440203</guid><author>TRLblog</author><pubDate>Fri, 02 Dec 2016 23:03:53 +0800</pubDate><description><![CDATA[strcpy(ptr，"hello world")；是把hello world复制到ptr里边。
char *ptr＝（char *）malloc (len)len；
这个char*是强制类型转换
将malloc的返回值强制转换为char型，malloc返回值是void*（空指针）。
size_t是一个整型。
指针赋值一定要是相同类型的指针赋值。（或者说步长一样的指针）
浮点型的指针不]]></description><category></category></item><item><title><![CDATA[野指针]]></title><link>https://blog.youkuaiyun.com/TRLblog/article/details/53415174</link><guid>https://blog.youkuaiyun.com/TRLblog/article/details/53415174</guid><author>TRLblog</author><pubDate>Wed, 30 Nov 2016 22:59:46 +0800</pubDate><description><![CDATA[今天刚开始上课先写了两个程序，都是上节课的内容，写起来还是有点难度，需要自己找时间再去写几遍。
接下来讲的指针的内容。提到了一个名词叫野指针，什么是野指针？
野指针就是随机指向一块内存的指针。野指针造成的错误是内存泄露。

接下来讲一个非常重要的问题，是许多面试公司都会问得题目，如何避免野指针。
这个问题应该怎么回答？答案如下：
我觉得要避免野指针要养成一些良好的编码习惯：
1 当一]]></description><category></category></item><item><title><![CDATA[C语言五子棋]]></title><link>https://blog.youkuaiyun.com/TRLblog/article/details/53401748</link><guid>https://blog.youkuaiyun.com/TRLblog/article/details/53401748</guid><author>TRLblog</author><pubDate>Tue, 29 Nov 2016 22:50:07 +0800</pubDate><description><![CDATA[目前为止跟着学校进度学习C语言大概半年左右，基础学习只学到了指针，学得非常浅。说实话，起初对C语言的印象———只是一个学习计算机语言的敲门砖，对具体C语言如何应用等，非常迷茫。直到大一下半学期的高级语言设计课程之后，试过dos运行的图形化界面的完整小程序，才发现C语言的魅力。

ok，废话不多说了，下面是我第一节课研究的程序————C语言的五子棋。一个简单的小程序。并非纯原创，是基于网络搜索到]]></description><category></category></item><item><title><![CDATA[指针]]></title><link>https://blog.youkuaiyun.com/TRLblog/article/details/53386039</link><guid>https://blog.youkuaiyun.com/TRLblog/article/details/53386039</guid><author>TRLblog</author><pubDate>Mon, 28 Nov 2016 22:55:25 +0800</pubDate><description><![CDATA[ptintf是一个行缓冲函数，刷缓冲区的条件如下：
1 缓冲区填满
2 写入的字符有'\n'，'\r'
3 调用fflush手动刷新缓冲区
4 调用scanf要从缓冲区读取数据时，也会将缓冲区内的数据刷新
以上四个条件只要满足一个就会刷新

printf（"%d\n"，__LINE__）；输出当前行号
printf（"%s:%d\n"，_func___LINE__）；
打印当前函]]></description><category></category></item><item><title><![CDATA[常量和变量，操作系统]]></title><link>https://blog.youkuaiyun.com/TRLblog/article/details/53359167</link><guid>https://blog.youkuaiyun.com/TRLblog/article/details/53359167</guid><author>TRLblog</author><pubDate>Sat, 26 Nov 2016 23:50:41 +0800</pubDate><description><![CDATA[今天一开始讲的是变量和常量
变量的三大特点：
1变量的数据类型：主要说明变量占用的内存空间大小
2变量的作用域：变量的有效性的范围，即变量的使用范围
3变量的存储类型：变量在内存中的存储方式，不同的存储方式，影响变量在内存中的生命周期

内存和硬盘的区别：内存是电脑的数据存储设备之一，其特点为容量较小，但数据传送速度较快，用以弥补硬盘虽然容量大但传送速度慢的缺点，在电脑中；内存被架设在]]></description><category></category></item><item><title><![CDATA[数据结构]]></title><link>https://blog.youkuaiyun.com/TRLblog/article/details/53343469</link><guid>https://blog.youkuaiyun.com/TRLblog/article/details/53343469</guid><author>TRLblog</author><pubDate>Fri, 25 Nov 2016 23:15:06 +0800</pubDate><description><![CDATA[时隔四日，上节课讲的左右法则已经差不多“忘了”，所以今天梁哥问我的问题并没有答上来。不过再听过他解析一遍，就把上节课的记忆找回来了，而且我想应该也不会再那么容易就忘记了，所以说学过的内容一定要及时回顾复习，温故而知新。
今天上课讲的几点内容很简单，还是一些基础的东西，但是每次都可以通过这些基础的东西学到很多从书上看不到的东西。
首先，让我们自己看书的话，一些简单的地方我们真的是随便过两遍就翻篇]]></description><category></category></item><item><title><![CDATA[作业感悟]]></title><link>https://blog.youkuaiyun.com/TRLblog/article/details/53313940</link><guid>https://blog.youkuaiyun.com/TRLblog/article/details/53313940</guid><author>TRLblog</author><pubDate>Wed, 23 Nov 2016 23:25:05 +0800</pubDate><description><![CDATA[因为老师有事所以今天的课没有上，然后给我们布置了四道编程题，编程能力还是比较差，四道题目加起来一共写了有三个小时，感觉还是有很大的进步空间。]]></description><category></category></item><item><title><![CDATA[指针]]></title><link>https://blog.youkuaiyun.com/TRLblog/article/details/53292436</link><guid>https://blog.youkuaiyun.com/TRLblog/article/details/53292436</guid><author>TRLblog</author><pubDate>Tue, 22 Nov 2016 21:58:44 +0800</pubDate><description><![CDATA[对于初学C语言的朋友，除了觉得指针有点神秘之外，最大的问题之一可能是理解指针到底是用来干什么的。




我会回答说：“指针绝对是必不可少的，我们会一直使用，请相信我”，你可能会丢我砖头（说不定还有西红柿和鸡蛋） :P ，因为我说了等于没说。




好吧，我会给你一个问题，你会发现假如不用指针是不能解决的。这个问题有点类似我们这一课的引子。在这一课的结尾我们还会重新来谈这个问]]></description><category></category></item><item><title><![CDATA[左右法则]]></title><link>https://blog.youkuaiyun.com/TRLblog/article/details/53269990</link><guid>https://blog.youkuaiyun.com/TRLblog/article/details/53269990</guid><author>TRLblog</author><pubDate>Mon, 21 Nov 2016 23:30:54 +0800</pubDate><description><![CDATA[今天上课一开始把昨天的程序回顾了一下，而且用的是另一种方法，也是以后我们写程序要选择的方法，就是写个函数，然厚在主函数里边调用。这种写法一开始我还是不太熟练，但是我觉得通过代码的练习肯定会慢慢熟练的。
今天讲的主要内容就是四个字“左右法则”
左右法则是一个简单的法则，但能让你准确理解所有的声明。这个法则运用如下：从最内部的括号开始阅读声明，向右看，然后向左看。当你碰到一个括号时就调转阅读的方向]]></description><category></category></item><item><title><![CDATA[C语言数组与指针]]></title><link>https://blog.youkuaiyun.com/TRLblog/article/details/53248061</link><guid>https://blog.youkuaiyun.com/TRLblog/article/details/53248061</guid><author>TRLblog</author><pubDate>Sun, 20 Nov 2016 23:19:34 +0800</pubDate><description><![CDATA[看到一篇关于C语言指针的文章，正好最近在看《C和指针》就去看了一下。《一道 C 语言指针访存题目的引申》，里面的第一个题目就把我难住了。

帮助123456789 #include    int main() {     int a[5] = {1, 2, 3, 4, 5};     int *pa = (int)(&a) + 1;     printf("%x\n", *pa);     r]]></description><category></category></item><item><title><![CDATA[对C语言的初步认识]]></title><link>https://blog.youkuaiyun.com/TRLblog/article/details/53235613</link><guid>https://blog.youkuaiyun.com/TRLblog/article/details/53235613</guid><author>TRLblog</author><pubDate>Sat, 19 Nov 2016 22:16:46 +0800</pubDate><description><![CDATA[今天开启了C语言学习的第一节课。
 
一开始问了我们在现有的开发里有哪些语言：
Java，c++，php，c#，.Net，python，shell，oc（ios系统用的语言）
面向对象的语言：以上除了Python，shell语言
 
中间提到了一句嵌入式是什么？嵌入式就是移植操作系统。
所有的操作系统的内核都是由C语言完成的。这也是为什么我们学嵌入式要选择C语言来完成。
C语言有以]]></description><category></category></item><item><title><![CDATA[Linux常用指令]]></title><link>https://blog.youkuaiyun.com/TRLblog/article/details/53224587</link><guid>https://blog.youkuaiyun.com/TRLblog/article/details/53224587</guid><author>TRLblog</author><pubDate>Fri, 18 Nov 2016 23:15:04 +0800</pubDate><description><![CDATA[今天上课的主要内容还是makefile，首先给我们讲了每个目录里的makefile的一些命令都是什么意思，给我们讲解理解后又给我们讲了下怎么来修改，用我们原来使用的命令来替换这些原来的命令。完成这一任务的首要目标肯定是熟悉并了解命令的意思。

讲完这些梁哥就告诉我们几个面试官经常问的关于makefile的问题
1.makefile的作用是什么
2.给你几个文件，你来写一个makefile]]></description><category></category></item><item><title><![CDATA[Makefile注释]]></title><link>https://blog.youkuaiyun.com/TRLblog/article/details/53224574</link><guid>https://blog.youkuaiyun.com/TRLblog/article/details/53224574</guid><author>TRLblog</author><pubDate>Fri, 18 Nov 2016 23:13:32 +0800</pubDate><description><![CDATA[Makefile 的多行注释 2012-08-14 10:15:20| 分类： 默认分类 |举报|字号 订阅Makefile 的多行注释Makefile Comments注释在 makefile 中起着重要的作用，它帮助我们更快更好的理解 makefile 的内容。# 注释符# 字符是注释符，makefile 把 # 字符后面的内容作为注释内容处理（shell、perl 脚本也是使用 # 字符作为]]></description><category></category></item><item><title><![CDATA[Makefile]]></title><link>https://blog.youkuaiyun.com/TRLblog/article/details/53193115</link><guid>https://blog.youkuaiyun.com/TRLblog/article/details/53193115</guid><author>TRLblog</author><pubDate>Wed, 16 Nov 2016 23:26:37 +0800</pubDate><description><![CDATA[Makefile的特性介绍：在Makefile文件中，存在着大量的文件名，而且这些文件名都是重复出现的，所以在源文件较多的情况下，很容易发生遗漏或者写错文件名。而且一旦源文件的名称发生了变化，还容易造成其他文件名不一致的错误，所以Makefile提供了变量来代替文件名。
 
Wildcard：wildcard
模式参数
列出当前目录下所有符合模式参数的文件
Pastubset：pastu]]></description><category></category></item><item><title><![CDATA[c语言-输入任意长度字符串]]></title><link>https://blog.youkuaiyun.com/TRLblog/article/details/53178861</link><guid>https://blog.youkuaiyun.com/TRLblog/article/details/53178861</guid><author>TRLblog</author><pubDate>Tue, 15 Nov 2016 22:29:15 +0800</pubDate><description><![CDATA[C语言，从标准输入读入几行输入，并显示在标准输出，每行的前面加上行号。

代码
#include 
#include 
int main(void)
{
    int ch;
    int line_no = 0;
    int flag = 1;
    while((ch = getchar()) != EOF)
    {
        if (flag) 
        {]]></description><category></category></item></channel></rss>