- 博客(34)
- 收藏
- 关注
原创 声明和初始化
声明和初始化基本数据类型 声明的组成部分存储类型 基本类型 类型限定词 最终声明符(可能包含初始化列表) 使用何种数据类型 short类型的长度至少为两字节。在有些计算机上,对于有些编译程序,short类型的长度可能为4字节,或者更长。 int类型是一个整数的“自然”大小,其长度至少为两字节,并且至少要和short类型一样长。在16位计算机上,in
2017-01-21 14:06:02
270
原创 代码联系
1.100以内的素数#includevoid main(){ int i; int k; for(i=2; i { for(k=2; k { if(i%k==0)break; /*如果找到一个不是1或者它本身的因子,则停止该循环,此时k } if(
2017-01-18 20:52:06
309
原创 栈
栈只允许在一端插入和删除的线性表只允许插入的一段为栈顶(所谓的栈顶指针),另一端为栈底取栈顶:取栈顶指针指向的数据 #include struct stack{ int num; struct stack *next;}; typedef struct stack * Stack; enum Result{STACK_
2017-01-17 20:18:10
226
转载 数组首地址与数组名取地址的区别
C语言数组首地址和数组名取地址区别2010年11月24日 11:51申明:本文系原创,转载时请注明出处,本人保留追究责任的权利。原文地址:http://hi.baidu.com/surfmygod/blog/item/53d44914cdb8a5d6a7ef3f13.html本文适用于机器为32位,编译器为VC6.0。先来看下
2016-12-05 15:05:48
572
转载 malloc、ralloc、calloc的用法,作用,区别,及实现原理(转载)
malloc、ralloc、calloc的用法,作用,区别,及实现原理2016-04-16 0 个评论 来源:Zxn、Sirius荣耀之路 收藏 我要投稿先来看一下三个函数的声明:?123<codeclass="hljs cpp">void
2016-12-02 22:33:24
434
转载 calloc函数(转载)
C语言之calloc函数标签: callocfreemalloc2013-01-10 10:31 1670人阅读 评论(0) 举报 分类:Basic knowledge of C(73) 版权声明:本文为博主原创文章,未经博主允许不得转载。【FROM MSDN && 百科】原型: void *calloc(size_t
2016-12-02 22:32:33
265
转载 malloc函数详解(转载)
一、原型:extern void *malloc(unsigned int num_bytes);头文件:#include 或 #include (注意:alloc.h 与 malloc.h 的内容是完全一致的。)功能:分配长度为num_bytes字节的内存块说明:如果分配成功则返回指向被分配内存的指针,否则返回空指针NULL。当内存不再使用时,应使用free(
2016-12-02 22:24:43
289
原创 C简单程序
6.递归求阶乘#includelong f(x){ long a; if(x==0||x==1) { a=1; } else { a=x*f(x-1); } return a;}main(){ intb; scanf("%d",&b);
2016-12-02 22:22:52
233
原创 C简单程序
1.100以内的素数#includevoid main(){ int i; int k; for(i=2; i { for(k=2; k { if(i%k==0)break; /*如果找到一个不是1或者它本身的因子,则停止该循环,此时k } if(
2016-12-02 22:22:24
296
原创 课堂笔记(指针标准使用方式)
2.解释*ptr=“hello world”按照上课内容讲,例如对应,指针 1)char *ptr; ptr=”hello world”; //赋值合法,ptr获得’h’的地址 2)char *ptr; strcpy(ptr,”hello world”); //非法,ptr为野指针,
2016-12-02 22:21:12
303
原创 课堂笔记(野指针)
作业 1. 什么是野指针,如何避免 定义:随机指向一块内存的指针 原因:局部指针变量位于栈空间,栈空间未初始化的变量随机赋值,栈空间由系统管理,指针未申请即获得了一个地址,如果此地址已分配,则可能通过运行,如果没有用过,则会造成内存泄漏 野指针造成的错误:内存泄漏(段错误的一种)(没有向系统申请就获得了地址,造成内存泄漏)
2016-12-02 22:20:18
205
原创 课堂笔记
11.28.20161.strcmp(a,b):比较a,b字符串,如果a=b,返回“0”; 如果a>b,返回正直;a2.当函数返回指针需要返回NULL时(也就是函数可能出现无法找到那个指针时),需要加入#include头文件(这个函数为一个单独的.c文件时)格式化输入输出●int main(){ printf(“dsaff”);
2016-12-02 22:19:25
225
原创 课堂笔记
●段错误调试 1.gcc –g 编译一下,启用GDB run命令运行一下,会提示段错误的位置 2.由于段错误编译时可以通过,遇到段错误时程序就会停止,可以在每行代码下加printf();打印部分内容,无法打印的printf();就是段错误所在位置 进阶:利用内置宏printf(“%s:%d”,_func_,_LINE_);(在每行代码下加)
2016-12-02 22:18:28
204
转载 指针数组和数组指针的区别
这两个名字不同当然所代表的意思也就不同。我刚开始看到这就吓到了,主要是中文太博大精深了,整这样的简称太专业了,把人都绕晕了。从英文解释或中文全称看就比较容易理解。指针数组:array of pointers,即用于存储指针的数组,也就是数组元素都是指针数组指针:a pointer to an array,即指向数组的指针还要注意的是他们用法的区别,下面举例说明。in
2016-11-27 11:57:29
222
转载 为什么要学习指针(转载自知乎)
作者:Tim Shen链接:https://www.zhihu.com/question/26623283/answer/33553948来源:知乎著作权归作者所有,转载请联系作者获得授权。我应该是从这篇blog学来的。原文简单干脆,比我这篇罗嗦的文字要好多了。----------------------你问题提得蛮好的,只是可惜没人解释得通透。我看不少人提到了
2016-11-27 11:57:02
2749
转载 指针的运算
其实,在C语言中,指针功能的强大,主要体现在指针变量的间接运算上,指针涉及的运算并不多。 1、基本运算 指针变量的基本运算包括赋值、取地址以及取值(间接运算)等运算。 举例,如清单1: [cpp] view plain copy#include int main(void) {
2016-11-27 11:55:28
637
原创 课堂笔记(计算机存储)
11.26.2016封装:将函数单独写入一个*.c文件,可以将main.c与*.c一起编译,同样可以直接调用函数,可以提高代码的复用性变量和常量:变量: 特点: 数据类型:说明变量占据的空间大小 e.g. int型 作用域:变量的有效范围
2016-11-27 11:53:38
277
原创 课堂笔记(数据类型)
11.25.2016sizeof不是函数!!是运算符,用来测量变量或数据类型占用的字节大小另一种写法:sizeofnum;(没有括号,自能用于变量)不可以测量数据类型e.g.int字符长度:(以32位系统为基础)基础 bit(位) 字节=8位 字=4字节=32位(32位系统) 半字=2字节=16位数据类型字节长度 int
2016-11-27 11:52:34
232
原创 课堂笔记(面试,参考书)
11.19.2016面试:●现有嵌入式开发都用那些语言,这些语言的应用都有哪些●嵌入式:操作系统的移植●嵌入式选择C语言:所有操作系统的内核都是由C语言写的●C语言写内核的优势1.出色的移植性2.可访问控制硬件 3.运行效率高●移植性好:从一个平台换到另一个平台,修改的代码越少,移植性越好●C语言的哪些用法可以提高C语言移植
2016-11-27 11:51:32
342
原创 复杂指针声明
这周考试也是神烦,课前也没预习,上课真是尴尬整理整理上课内容吧代码规范:1.命名函数或文件时最好四个单词以内2.主程序:只有函数调用或声明以及输入输出(部分必须主函数定义的变量)面试题答案a. int a; 整型变量b. int *a; 整型指针变量c. int**a; 整型指针的指
2016-11-22 20:36:47
287
原创 个人C语言笔记
14 .输入10个整数,排序并输出排序后的数列。(一维数组的经典案例)#include #includemain(){ int i, j, p, q, s, a[10]; /*输入的时候加上空格*/ printf("\n请输入十个数字:\n"); for (i = 0; i /*for循环赋赋值*/
2016-11-20 22:09:17
173
原创 个人C语言笔记
11 .要求输入100~200之间不能被3整除的数。#include #includemain(){ int n; for (n = 100; n { if (n % 3 == 0) continue; /*contnue语句的应用:每次n%3成立时执行一次continue,跳过printf即不输出
2016-11-20 22:08:44
252
原创 个人C语言笔记
7 .写一程序,判断某年是否为闰年(多种算法)法一:if的多层嵌套,注意else对应好if,采用锯齿形,关键最后leap真假的判断函数,注意这种思想#include #includemain(){ int year, leap; /*leap为标志变量,leap=0为闰年,leap=1为平年*/ printf("请输入年份:"); s
2016-11-20 22:07:59
652
原创 个人C语言笔记
1 .给出三角形的三边长,求三角形面积(假设三边已符合规律)#include #include#includemain(){ double a, b, c, s, area; a = 3.67; b = 5.43; c = 6.21; s = (a + b + c) / 2;
2016-11-20 22:07:28
259
转载 一 一维数组与指针
版权声明:本文为博主原创文章,未经博主允许不得转载。一维数组和指针:对于一位数组和指针是很好理解的: 一维数组名: 对于这样的一维数组:int a[5]; a作为数组名就是我们数组的首地址, a是一个地址常量 . 首先说说常量和变量的关系, 对于变量来说, 用箱子去比喻再好不过了, 声明一个变量就声明一个箱子,比如我们开辟出一
2016-11-20 22:05:55
291
转载 C语言函数变参使用
用法示例,一个编译器错误处理函数:enum e_ErrorLevel{ LEVEL_WARNING, LEVEL_ERROR,};enum e_WorkStage{ STAGE_COMPILE, STAGE_LINK,};void handle_exception(int stage, int level, char *fmt, va_list
2016-11-20 22:04:46
191
转载 VS2013常用快捷键
#VS2013常用快捷键 1.回到上一个光标位置/前进到下一个光标位置 1)回到上一个光标位置:使用组合键“Ctrl + -”; 2)前进到下一个光标位置:“Ctrl + Shift + - ”。 2.复制/剪切/删除整行代码 1)如果你想复制一整行代码,只需将光标移至该行,再使用组合键“Ctrl+C”来完成复制操作,而无需选择整行。 2)如果你想剪
2016-11-14 17:06:58
203
原创 GDB调试器基础命令
GDB调试器基础命令#(个人课堂笔记)●gcc –g test.c –o test 以gdb编译 gdbtest gdb运行可执行文件 run 运行可执行文件 list 显示部分源码 list 100显示100行quit
2016-11-13 22:00:35
230
原创 makefile文件制作
makefile文件制作#(个人课堂笔记)(卧槽,怎么把别人名字泄露了的)# #工程管理器make# #很多源文件组成的代码结构组成一个项目工程,这些文件可能位于不同目录下●make 批处理编译工程文件 (makefile:编译逻辑:如何执行批处理make命令,没有makefile无法执行make命令)●make hello.o make+目标:只执行
2016-11-13 21:46:34
292
原创 程序生成的四个步骤,Linux动态库与静态库
程序生成的四个步骤,Linux动态库与静态库#(个人课堂笔记)●程序的四个步骤:预处理,编译,汇编,链接(面试题)预处理:gcc –E demo.c 只进行预处理gcc –E demo.c > demo.i 将预处理信息写入demo.i (>表示重定向的意思)1.头文件展开把#include展开进.c文件
2016-11-13 21:43:46
530
原创 Linux基础命令
Linux基础命令 #(内容为个人课堂笔记)Linux系统根目录功能解释/bin 二进制可执行命令/root 目录是超级用户的目录。/dev 设备特殊文件/etc 系统管理和配置文件/etc/rc.d 启动的配置文件和脚本/home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示/lib 标准程序设计库,又叫动态链接
2016-11-13 21:39:15
222
转载 编译器的三级优化
第一级:代码调整 代码调整是一种局部的思维方式;基本上不触及算法层级;它面向的是代码,而不是问题; 所以:语句调整,用汇编重写、指令调整、换一种语言实现、换一个编译器、循环展开、参数传递优化等都属于这一级; 这个级别的优化需要掌握大量的小的优化技巧和知识,需要不断的积累; 简单的语句调整、公共表达式提取、废代码删除等当前的很多编译器也能做到了,但也需要了解一些编译器的优化能力使自己
2016-11-12 16:59:45
255
转载 对 Linux 新手非常有用的 20 个命令
你打算从Windows换到Linux上来,还是你刚好换到Linux上来?哎哟!!!我说什么呢,是什么原因你就出现在我的世界里了。从我以往的经验来说,当我刚使用Linux,命令,终端啊什么的,吓了我一跳。我担心该记住多少命令,来帮助我完成所有任务。毫无疑问,在线文档,书籍,man pages以及社区帮了我一个大忙,但是我还是坚信有那么一篇文章记录了如何简单学习和理解命令的秘籍。这激发了我掌握Linu
2016-11-10 20:32:46
326
转载 Code::Blocks代码自动提示设置及常用快捷键(适用windows和linux) 1)以下需要设置的地方均在Settings->Editor...弹出的对话框中。 2)不少命令都可针对当前行或
Code::Blocks代码自动提示设置及常用快捷键(适用windows和linux)1)以下需要设置的地方均在Settings->Editor...弹出的对话框中。2)不少命令都可针对当前行或选中的代码块,下文简称当前行或选中块。==日常编辑== • 按住Ctrl滚滚轮,代码的字体会随你心意变大变小,对保护视力特别有好处。 • 在编辑区按住右
2016-11-08 21:40:46
695
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人