C
文章平均质量分 84
xingyuan1hao
微信:xingyuan1hao
GitHub: https://github.com/xingyuan1hao
展开
-
二级指针与数组
char *str[] = {"abc", "mike", "hello"};这是字符指针数组,每一个数组元素是一个指针变量,而每个指针变量指向字符串首字符地址,即是字符串的地址。因为每一个字符串都代表的是一个地址,是字符串首字符的地址。字符串常量是放在文字常量区,是不可以更改的。而指针数组str里面存放的是指向字符串地址,它是可变的。如str[0] 是可变的,它是指针变量,但是*str[0]...转载 2019-10-30 19:22:46 · 955 阅读 · 0 评论 -
C陷阱与缺陷(三)--语义陷阱2
(1)、边界计算与不对称边界(2)、求值顺序(3)、运算符&& || !(4)、整数溢出(5)main函数原创 2017-02-28 23:18:57 · 378 阅读 · 0 评论 -
C陷阱与缺陷(二)
(1)、理解函数声明typedef 与函数使用(2)、运算符优先级摘自C语言中文网下表就整理了这些容易出错的情况:这些容易出错的情况,希望读者好好在编译器上调试调试,这样印象会深一些。一定要多调试,光靠看代码,水平是很难提上来的。调试代码才是最长水平的。(3)、注意语句结束分号实际编程也会有应用,但一定要注释清楚。一些基础性面试题,经常考这些。如常用的f原创 2017-02-28 23:12:34 · 266 阅读 · 0 评论 -
C陷进与缺陷(一)
(1)、=不同于==因此编程规范建议将常量值放左边,变量值放右边,这样编译器能帮助检测出来。(2)、&和 | 不同于 && 和 ||位运算符: & 、 | 。 &:按位与运算符; | :按位或运算符;逻辑运算符:&& 、 || 。 &&:逻辑与运算符,条件判断,两边要同时成立; || : 逻辑或运算符,条件判断,其一成立即可;(3)、运算符编写一原创 2017-02-28 21:26:24 · 273 阅读 · 0 评论 -
sscanf函数使用
C语言提供了一些列的格式化输入输出函数,最基本的是面向控制台标准输出和输入的printf和scanf,其实还有面向字符串的sprint和sscanf,面向文件的流的fprintf和fscanf。 sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)为输入源,前者以固定字符串为输入源。 简单地说就是输入的类型不同。sscanf函数 sscanf函数原型为i转载 2017-01-10 20:57:18 · 335 阅读 · 0 评论 -
左移右移
仅是无符号数操作,左移动N位,是乘以2的N次方右移N位,是除以2的N次方带符号数操作,丢弃符号位最高位,0补最低位。总之,在C中,左移是逻辑/算术左移(两者完全相同),右移是算术右移,会保持符号位不变.实际应用中可以根据情况用左/右移做快速的乘/除运算,这样会比循环效率高很多1移位操作符的两个操作数必须是整型的。整个移位表达式的值的类型也是整型的,而且,左移位操作符与右原创 2016-12-29 19:58:58 · 569 阅读 · 0 评论 -
typedef使用
(一)typedef int a[10];a b[10]; 分配400个字节的空间int a[10];分配40个字节的空间typedef int a[10]; 说明a就等同于int[10]类型。。所以a b[10];//等同与int b[10][10]; 而int a[10];这里的a代表的不是类型,而是数组名。而#define只是字符替换原创 2016-12-28 22:10:11 · 500 阅读 · 0 评论 -
char int string转换小结
下文转载整理于网络:从字符串中提取指定类型数字或子串,这种情形也是非常的常见。大部分的情形都可以用sscanf()和 sprintf() 这两个函数来实现,如果要求复杂,那么就用正则库或自己手写。一个例子如下:#include #include #include int main() { // 从字符串中提取数字 char* p = "192.168.1转载 2016-12-27 21:54:33 · 417 阅读 · 0 评论 -
字符串总结2
转载:http://blog.csdn.net/xyw_blog/article/details/25627129 作者:xyw_Eliotchar* 和 int, float 等的格式化转换从字符串中提取指定类型数字或子串,这种情形也是非常的常见。大部分的情形都可以用sscanf()和 sprintf() 这两个函数来实现,如果要求复杂,那么就用正则库或自己手写。一个例子原创 2016-08-20 19:24:52 · 321 阅读 · 0 评论 -
字符串memcpy
转载:http://www.cnblogs.com/GarfieldEr007/p/5594524.html memcpy函数原型函数1:void *memcpy(void *dst, const void *src, size_t len){if(NULL == dst || NULL == src){return NULL;}void *ret原创 2016-08-20 17:37:41 · 1200 阅读 · 0 评论 -
C陷阱与缺陷(四)--声明与定义2
STATIC 一,static全局变量它只在定义它的源文件内有效,其他源文件无法访问它。二,static局部变量 static局部变量中文名叫静态局部变量。与普通的局部变量区别: 1)位置:静态局部变量被编译器放在全局存储区.data 2)访问权限:静态局部变量只能被其作用域内的变量或函数访问。也就是说虽然它会在程原创 2017-03-17 22:27:14 · 265 阅读 · 0 评论 -
C陷阱与缺陷(三)--语义陷阱1
(1)指针与数组原创 2017-02-28 23:15:11 · 476 阅读 · 0 评论 -
结构体函数
(一)函数-指针1、指针函数 指针函数本质是一个函数,函数返回类型是某一类型的指针。 定义格式 :函数类型 * 函数名(参数列表) 例: int * func1 (x, y ) 返回值为整型类型指针的函数原创 2017-03-18 10:03:04 · 3097 阅读 · 0 评论 -
void 指针多层传递关系
void 指针多层传递关系原创 2019-08-15 19:11:37 · 204 阅读 · 0 评论 -
指针将数值赋值到制定内存地址
http://www.cnblogs.com/haore147/p/3647192.html(一)int *p = (int *)0x12ff7c;*p = 0x100;(二) *(int *)0x12ff7c = 0x100;上面的两行代码没有本质的区别,告诉编译器这个地址上将存储一个int类型的数据;然后通过钥匙“*”向这块内存写入一个数据。转载 2017-08-27 17:53:13 · 481 阅读 · 0 评论 -
结构体作为函数参数
结构体宏观上可以当做变量看待,可以作为函数参数,也可以作为函数返回值。再软件编程上的使用,可以与C++的类,封装的功能平分天下。将一个结构体变量中的数据传递给另一个函数,有下列3种方法:用结构体变量名作参数。一般较少用这种方法。用指向结构体变量的指针作实参,将结构体变量的地址传给形参。用结构体变量的引用变量作函数参数。案例说明: 有一个结构体变量stu,内含学生学原创 2017-07-08 17:51:15 · 3470 阅读 · 0 评论 -
C陷阱与缺陷(七)
可移植行缺陷问题(1)参数类型提升的问题,注意取值范围的不同(2)函数的声明方式不同(3)标识符名称的限制,在变量命名时注意与库名专有命名冲突如Malloc 与malloc,new等,而一些库名会采用下划线方式 _malloc, 但也有 __FILE__,因此添加下划线方式也要特别注意。建议用后下划线。(4)整数大小short int long· 早原创 2017-03-26 17:31:16 · 292 阅读 · 0 评论 -
C陷阱与缺陷(六)
C语言预处理器如预处理指令:DirectiveDescription#defineSubstitutes a preprocessor macro#includeInserts a particular header from another file#errorPr原创 2017-03-25 10:27:15 · 429 阅读 · 0 评论 -
函数的参数(一)
#include "stdafx.h"#include"stdio.h" void swap1(int x, int y){int temp;temp = x;x = y;y = temp;} void swap2(int *x, int *y){int *temp;temp = x;x = y;y = temp;} vo原创 2017-03-06 21:15:58 · 323 阅读 · 0 评论 -
C陷阱与缺陷(五)
库函数函数库调用系统调用在所有的ANSI C编译器版本中,C库函数是相同的各个操作系统的系统调用是不同的它调用函数库中的一段程序(或函数)它调用系统内核的服务与用户程序相联系是操作系统的一个入口点在用户地址空间执行在内核地址空间执行原创 2017-03-19 12:17:11 · 383 阅读 · 0 评论 -
C陷阱与缺陷(四)--声明与定义
变量的定义&声明一种是需要建立存储空间的。例如:int a在声明的时候就已经建立了存储空间,也就是我们所说的定义。另一种是不需要建立存储空间的。 例如:extern int a其中变量a是在别的文件中定义的。 告诉编译器,这个名字已经匹配到一块内存上了,别的地方再也不能用它来作为变量名或对象名。声明可以出现多次。 全局变量问题(1)、C/C++中的变量分为全局变量、静态原创 2017-03-05 12:02:13 · 337 阅读 · 0 评论 -
字符串 strcpy
strcpy函数:顾名思义字符串复制函数:原型:extern char *strcpy(char *dest,char *src); 功能:把从src地址开始且含有NULL结束符的字符串赋值到以dest开始的地址空间,返回dest(地址中存储的为复制后的新值)。要求:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。该图为strcpy英文介绍:原创 2016-08-20 16:50:17 · 354 阅读 · 0 评论 -
字符串总结 1
程序:{CSDN:CODE:114222}转载 2016-08-20 15:36:53 · 277 阅读 · 0 评论 -
不定参数函数
不定参数函数的使用原创 2016-07-14 13:41:08 · 350 阅读 · 0 评论 -
M1 卡技术规范
射频卡简单来讲就是卡的一种工作方式,通过感应的方式来工作,也可以把所有的感应卡都统称为射频卡。 IC卡的范围比较广,芯片外露的接触式IC卡、芯片内置的感应式IC卡和双界面IC卡都可统称为IC卡。IC卡芯片有分为可加密的逻辑加密卡及只具有存储空间的存储卡。 ID卡全称为身份识别卡,是一种不可写入的感应卡,ID卡出厂的时候芯片内码号就已经固话不可更改,每次使用只是读取ID卡的卡号和原创 2016-03-13 20:10:04 · 2519 阅读 · 0 评论 -
字符串格式转换
装载:http://polaris.blog.51cto.com/1146394/377468/ 字符编码详解——彻底理解掌握编码知识,“乱码”不复存在该遍文章对字符编码有详细的介绍。字符集(Charset):是一个系统支持的所有抽象字符的集合。字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。字符编码(Character Encoding):是一套法则,原创 2016-03-13 18:07:11 · 544 阅读 · 0 评论 -
C编程命名习惯总结
转载:http://blog.sina.com.cn/s/blog_8a7012cf01017h9p.html C/C++变量命名规则,个人习惯总结该编文章,清清晰明了,节省时间,时不时可以看上几遍。 http://www.cnblogs.com/liujiahi/archive/2011/09/16/2196348.html C语言命名规范 1、命名规则尽量与所采原创 2016-03-13 16:52:53 · 759 阅读 · 0 评论 -
C 结构体使用汇总
转载:http://www.cnblogs.com/hazir/p/C_struct_assignment.htmlhttp://blog.csdn.net/rjs123/article/details/7655319 在结构体中使用函数1、只要两个结构体类型相同,就可以实现赋值,结构体的赋值,是直接结构体的内存的拷贝(浅拷贝)!2、数组作为一个函数的参数传递时,退化成一个指针;原创 2016-01-30 22:03:26 · 390 阅读 · 0 评论 -
C 函数编程收揽
LostC http://www.cnblogs.com/nearu/archive/2009/06/08/1498918.html 使用指针做函数返回值和指针作函数参数问题 这篇博客不错,对于面试是很有启发性的。shengnan_wu http://blog.csdn.net/shengnan_wu/article/details/8116935 函数指针及含参函数指针原创 2016-01-30 21:32:03 · 405 阅读 · 0 评论 -
KEIL mdk LIB 使用总结
转载:http://blog.csdn.net/zhzht19861011/article/details/5964827 作者:zhzht19861011 Keil MDK入门---从新建一个工程开始此为朱工的专栏,是学习嵌入式实时系统的好去处。 转载:http://blog.csdn.net/yangluoning/article/details/8971217 作者:ya原创 2016-01-23 14:54:35 · 3550 阅读 · 0 评论 -
fgets 之用法
fgets 之用法2011-05-19 18:44:44分类: C/C++今天在看ObjectiveC,看到了一个fgets的例子,才发现对于fgets的理解不够透彻。fgets 的使用方法:char *fgets(char *string, int n, FILE *stream) 从文件stream中读取n-1个字符/一行(若一行不满n-1个转载 2014-09-12 08:37:07 · 699 阅读 · 0 评论 -
C语言学习1
堆和栈的区别分类: c/c++ 2011-07-07 15:48 122人阅读 评论(0)收藏 举报数据结构编译器windowsbyte存储扩展一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(h转载 2013-12-25 16:42:00 · 659 阅读 · 0 评论 -
C语言- 枚举类型
转载:http://www.cnblogs.com/JCSU/articles/1299051.html注:以下全部代码的执行环境为VC++ 6.0在程序中,可能需要为某些整数定义一个别名,我们可以利用预处理指令#define来完成这项工作,您的代码可能是:转载 2014-01-07 10:42:52 · 860 阅读 · 0 评论 -
EEPROM与FLASH
转载:http://jingyan.baidu.com/article/656db9189de36ee381249c09.html ROM、PROM、EPROM、EEPROM、Flash ROM的区别http://blog.csdn.net/yuanlulu/article/details/6163106 EEPROM和flash的区别http://bbs.ednchi原创 2016-03-27 13:33:48 · 885 阅读 · 0 评论 -
计算时间差
转载:http://www.aspku.com/kaifa/net/31738.html C标准库源码解剖:日期与时间函数struct tm { int tm_sec; /*秒,范围从 0 到 59 */ int tm_min; /* 分,范围从 0到 59 */ int tm_hour;原创 2016-03-27 15:24:22 · 507 阅读 · 0 评论 -
CRC 编程中的应用
转载:http://blog.sina.com.cn/s/blog_6f7a12790100n1vs.html 正确的计算CRC32的源码 作者:阎王老子http://blog.163.com/crazywolf_/blog/static/19523141320106814819693/ CRC32算法源码 作者:CrazyWolfhttp://www.cnblogs.com原创 2016-06-03 19:59:40 · 604 阅读 · 0 评论 -
回调函数思想
转载:http://blog.csdn.net/luoweifu/article/details/40709915 函数的指针 作者:luoweifu博主对 函数指针思想分析很简单透彻,大神之作! 回调函数: 简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。原创 2016-05-22 15:31:44 · 495 阅读 · 0 评论 -
C语言回调函数 2
转载:http://blog.csdn.net/ly61baby/article/details/6751891 C语言回调函数原创 2016-05-21 14:08:26 · 453 阅读 · 0 评论 -
GSM GPRS SIM 4G 5G
转载: http://blog.csdn.net/zhangfn2011/article/details/6577028 GSM与GPRS的区别原创 2016-05-19 16:37:44 · 986 阅读 · 0 评论 -
面试题-堆和栈
转载: http://blog.csdn.net/hguisu/article/details/7369936 堆和栈的区别原创 2016-04-23 21:12:40 · 1921 阅读 · 0 评论