c语言
文章平均质量分 77
love1code
我只想做一名程序员。
展开
-
再谈指针
前面大致对指针有一定的了解,最近在往后学习 的过程中对指针这玩意儿又有了新的理解。我认为:指针有2个属性。一:指针的值(value)二:指针管辖的宽度(width)# include int main (void){ int arr[5]={1,2,3,4,5}; int *p1=arr; int (*p2)[5]=&arr; return原创 2015-06-07 16:22:32 · 367 阅读 · 0 评论 -
漫谈C语言随机数
来说说C语言如何产生随机数。有人会说这不简单?time() + srand() + rand() 3个函数不就OK了吗?是的,不过,我们还是来看看原理比较好,也就是随机数是如何产生的。这不无聊。C本来就不是一门太高级的语言。这句话并不是贬义的。首先,我要说的是:计算机本身是不能产生随机数的。计算机再如何先进,终究是一部机器。它没有逻辑思维,只会计算,却不懂怎样算,怎么能产生原创 2015-06-23 22:55:02 · 1080 阅读 · 2 评论 -
static的作用
在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容char a = 'A'; // global variable转载 2015-04-01 13:08:53 · 415 阅读 · 0 评论 -
C内存管理
在任何程序设计环境及语言中,内存管理都十分重要。在目前的计算机系统或嵌入式系统中,内存资源仍然是有限的。因此在程序设计中,有效地管理内存资源是程序员首先考虑的问题。第1节主要介绍内存管理基本概念,重点介绍C程序中内存的分配,以及C语言编译后的可执行程序的存储结构和运行结构,同时还介绍了堆空间和栈空间的用途及区别。第2节主要介绍C语言中内存分配及释放函数、函数的功能,以及如何调用这些转载 2015-03-23 23:30:57 · 598 阅读 · 0 评论 -
个人关于指针的理解
指针是什么?如何理解指针?因为指针是抽象的,所以这里我把它拟物化,这样解释也许跟容易懂。指针的专业解释是:指针是内存单元的编号。说明:以下的黑方框都代表一个字节1)对于内存。 我们一般认为内存的基本单位是字节,内存空间由很多字节组成的。 内存可以存储数据,所以我们把每个字节当做是一个“箱子”。 数据存入内存就好比在箱子里面放数据原创 2015-03-13 18:11:58 · 547 阅读 · 0 评论 -
char*str与char str[]的差异。
下面是几个错的例子:1# include int main(void){ char *str; scanf("%s",str); //error return 0;}2# include int main(void){ char *str; gets(str); //error return 0;}3# include # include原创 2015-03-18 22:14:02 · 4110 阅读 · 0 评论 -
关于c语言二维数组与指针的个人理解及处理办法。
此文章简要介绍了二维数组和指针以及函数的处理方法。原创 2015-02-12 21:58:47 · 3007 阅读 · 1 评论 -
堆和栈的区别
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(转载 2015-03-14 15:57:30 · 454 阅读 · 0 评论 -
一个图说明文件,数据流,缓冲区的关系。
根据自己的学习领悟做的图,不知对否。原创 2015-03-19 11:12:46 · 2370 阅读 · 0 评论 -
关于scanf()函数的细节
scanf()是C中用的较多的一个输入函数。基本用法:scanf("转换说明符",变量地址); 转换说明符的作用有2个,一:占位,与后面的变量地址一一对应。二:表明输入数据的形式输入数字1)输入一个整数 scanf( " %d " , &a ); //注意:不要在%d后面加/n 工作特点:此时,scanf( ) 会扫描输入原创 2015-02-28 13:46:34 · 830 阅读 · 0 评论 -
关于typedef的用法总结
不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中。typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些C/C++的学习者的博客,其中有一篇关于typedef的总结还是很不错,由于总结的很好,我就不加修改的引用过来了,以下是引用的内容(红色部分是我自己写的内容)。用途一:定义一种类型的别转载 2015-02-22 11:06:39 · 450 阅读 · 2 评论 -
栈和堆的区别
转自: http://book.51cto.com/art/200811/96139.htm3.1.2 栈和堆的区别前面已经介绍过,栈是由编译器在需要时分配的,不需要时自动清除的变量存储区。里面的变量通常是局部变量、函数参数等。堆是由malloc()函数(C++语言为new运算符)分配的内存块,内存释放由程序员手动控制,在C语言为free函数完成(C++中为delete)。栈和转载 2015-08-14 22:29:05 · 413 阅读 · 0 评论