C语言
qrshi
这个作者很懒,什么都没留下…
展开
-
c语言之#define 中# 和##作用
c语言之#define 中# 和##作用##表示连接定义,而#则将定义变更为字符串。#define _STR(x) _VAL(x) #define _VAL(x) #x 不直接定义#define _STR(x) #x ,因为x可以是个宏,一次替换时x不会被展开,会被直接转换为字符串。比如《C标准库》里的例子,这样定义之后可以写_STR(__LINE__),如果_VAL(x)会直接得到"_...原创 2018-08-25 17:46:23 · 3544 阅读 · 0 评论 -
C语言之字符串,数组
c语言字符数组与字符串的使用详解1、字符数组的定义与初始化字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素。char str[10]={ 'I',' ','a','m',' ',‘h','a','p','p','y'};即把10个字符分别赋给str[0]到str[9]10个元素如果花括号中提供的字符个数大于数组长度,则按语法错误处理;若小于数组转载 2015-04-01 11:01:56 · 521 阅读 · 0 评论 -
C语言之实用函数
C语言之实用函数====================================1.整形高低字节互换;short exchangeBytes(short value){ short tmp_value; uint8_t *index_1, *index_2; index_1原创 2016-01-30 14:29:37 · 418 阅读 · 0 评论 -
c语言之enum
c语言之enum在程序中,可能需要为某些整数定义一个别名,我们可以利用预处理指令#define来完成这项工作,您的代码可能是: #define MON 1 #define TUE 2 #define WED 3 „„ 在此,我们定义一种新的数据类型,希望它能完成同样的工作。这种新的数据类型叫枚举型。 1. 定义一种新的数据类型 - 枚举型 以转载 2015-09-06 14:57:37 · 350 阅读 · 0 评论 -
C语言之数学计算幂次方
C语言之数学计算幂次方1.包含#include "math.h"2.pow();原创 2016-01-03 15:57:10 · 16226 阅读 · 1 评论 -
C语言之typedef
typedef 在计算机编程语言中用来为复杂的声明定义简单的别名,与宏定义有些差异。它本身是一种存储类的关键字,与auto、extern、mutable、static、register等关键字不能出现在同一个表达式中。如何创建平台无关的数据类型,隐藏笨拙且难以理解的语法?使用typedef为现有类型创建同义字,定义易于记忆的类型名1转载 2015-04-09 17:36:45 · 336 阅读 · 0 评论 -
c语言之内联inline
c语言之内联inline转自:http://blog.csdn.net/hanchaoman/article/details/7270345c/c++中的inline,使用在函数声明处,表示程序员请求编译器在此函数的被调用处将此函数实现插入,而不是像普通函数那样生成调用代码(申请是否有效取决于编译器)。一般地说,这样作的优点是省掉了调用函数的开销;缺点则转载 2015-12-12 15:59:47 · 444 阅读 · 0 评论 -
c语言之变量存储类型
c语言之变量存储类型1.autoregisterstatic原创 2015-12-12 14:53:51 · 328 阅读 · 0 评论 -
c语言之sizeof
c语言之sizeof转自:http://www.cnblogs.com/wangkangluo1/archive/2011/09/27/2193072.html一、sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。 它并不是函数。 sizeof操作符以字节形式给出了其操作数的存储大小。转载 2015-12-10 15:51:16 · 503 阅读 · 0 评论 -
C语言之memset
C语言之memsethttp://www.cnblogs.com/lebronjames/archive/2010/07/04/1770987.html功 能 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向S转载 2015-09-08 16:22:08 · 318 阅读 · 0 评论 -
c语言之堆,栈,队列
c语言之堆,栈,队列简单来说就是三种不同的数据结构堆是一种树状结构栈和队列是线性结构不同的是栈是先进先出,队列是先进后出转载 2016-03-02 18:18:31 · 600 阅读 · 0 评论 -
C语言之头文件包含问题
C语言之头文件包含问题C语言中头文件是如何包含的?也说重定义随着代码越写越长,一个源文件的体制越来越臃肿。于是提倡将代码写到不同的多个源文件中去。将代码写到多个源文件中去就会遇到各个源文件中函数与变量的调用规则问题。通常人们习惯性的把宏定义、结构体、联合体、枚举、外部变量和外部函数声明等写入到头文件.h中去,而把函数的声明、变量定义等写入到.c文件中去。当某转载 2016-03-17 11:58:40 · 3768 阅读 · 0 评论 -
c语言之运算符优先级
c语言之运算符优先级C语言运算符优先级优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右--()圆括号(表达式)/函数名(形参表)转载 2016-01-16 12:49:07 · 537 阅读 · 0 评论 -
C语言break,continue和return的区别
C语言break和continue的区别//break是结束整个循环体,continue是结束单次循环比方说:while(x++ { if(x == 3) { break; } printf("%d\r\n", x);}结果是输出 1 2 就退出了整个while循环但是如果使用conti转载 2015-10-27 17:19:00 · 7754 阅读 · 0 评论 -
c语言之变量内存分布
c语言之变量内存分布原创 2016-03-09 11:26:43 · 370 阅读 · 0 评论 -
C语言之typedef函数指针用法
C语言之typedef函数指针用法 1.简单的函数指针的应用形式1:返回类型(*函数名)(参数表) [cpp] view plain copy char (*pFun)(int); char glFun(int a){ return;} void main() { pFun = glFun; (转载 2016-03-08 10:37:32 · 2359 阅读 · 0 评论 -
c语言之printf打印类型
c语言之printf打印类型%d 十进制有符号整数 %md,m指定的是输出字段的宽度,如果数据的位数小于m,则左端补以空格,若大于m,则 按实际位数输出,如: printf("%4d,%4d",a,b) 若a=123,d=12345,则输出的结果为: 空格123,12345%ld输出长整形格式%u 十进制无符号整数%f 浮点数%s 字符串%c 单个字符%p转载 2016-03-06 23:25:42 · 648 阅读 · 0 评论 -
C语言之位运算
C语言之位运算 位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果。位运算符有: &(按位与)、|(按位或)、^(按位异或)、~(按位取反)。 其中,按位取反运算符是单目运算符,其余均为双目运算符。 位运算符的优先级从高到低,依次为~、&、^、|, 其中~转载 2016-03-06 20:16:48 · 525 阅读 · 0 评论 -
c语言之 malloc函数详解
c语言之 malloc函数详解 一、原型:extern void *malloc(unsigned int num_bytes);头文件:#include 或 #include (注意:alloc.h 与 malloc.h 的内容是完全一致的。)功能:分配长度为num_bytes字节的内存块说明:如果分配成功则返回指向被分配内存的指针,否则返回空指针NULL转载 2016-03-06 18:42:03 · 81558 阅读 · 1 评论 -
C语言之strlen和sizeof有什么区别
C语言之strlen和sizeof有什么区别1.sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型。该类型保证能容纳实现所建立的最大对象的字节大小。 2.sizeof是算符,strlen是函数。 3.sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以''\0''结尾的。sizeof还转载 2016-03-06 18:00:41 · 428 阅读 · 0 评论 -
c语言之数据类型长度
c语言之数据类型长度(二)数据类型对应字节数程序运行平台 不同的平台上对不同数据类型分配的字节数是不同的。 个人对平台的理解是CPU+OS+Compiler,是因为: 1、64位机器也可以装32位系统(x64装XP); 2、32位机器上可以有16/32位的编译器(XP上有tc是16位的,其他常见的是32转载 2016-03-02 11:12:42 · 632 阅读 · 0 评论 -
c语言之sizeof运算符
c语言之sizeof运算符一、sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。 它并不是函数。 sizeof操作符以字节形式给出了其操作数的存储大小。 操作数可以是一个表达式或括在括号内的类型名。 操作数的存储大小由操作数的类型决定。 二、sizeof的使用方法转载 2016-03-06 17:00:52 · 1501 阅读 · 0 评论 -
c语言优先级表
c语言优先级表转载 2015-09-11 10:06:24 · 824 阅读 · 0 评论 -
c语言之数据拷贝memcpy strcpy
c语言之数据拷贝memcpy strcpystrcpy和memcpy都是标准C库函数,它们有下面的特点。strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。已知strcpy函数的原型是:char* strcpy(char* dest, const char* src);memcpy提供了一般内转载 2015-09-07 11:58:46 · 3319 阅读 · 0 评论 -
c语言二目运算符. ->
c语言二目运算符. ->转载 2015-09-10 16:58:24 · 2411 阅读 · 0 评论 -
C语言之#define 函数
转自:http://blog.sina.com.cn/s/blog_5caa94a00100cnua.htmlC语言之#define 函数可以是用#define 替换函数语句;#define GG(a, b, c, d, x, s, ac) { \(a) += G((b), (c), (d)) + (x) + (UINT4)(ac); \转载 2015-04-15 11:40:49 · 11491 阅读 · 0 评论 -
C语言之常用函数汇总
C语言之常用函数汇总1.memcmp是比较内存区域buf1和buf2的前count个字节ascII码值,比较的是ascII码是否相等,返回大于,等于,小于2.strstr是搜索一个字符串在另一个字符串中的第一次出现,比较的是ascII码是否相等,返回第一次相等时的地址;3.stristr是strstr函数的不区分大小写字母形式;4.strncmp函数是指定比较size个原创 2015-04-13 20:46:09 · 994 阅读 · 0 评论 -
c语言之回调函数
转自:http://www.cnblogs.com/2eggs/archive/2012/11/20/2779567.htmlc语言之回调函数回调函数是一个程序员不能显式调用的函数;通过将回调函数的地址传给调用者从而实现调用。回调函数使用是必要的,在我们想通过一个统一接口实现不同的内容,这时用回掉函数非常合适。比如,我们为几个不同的设备分别写了不同的显示函数转载 2015-04-14 12:16:53 · 490 阅读 · 0 评论 -
C语言之sizeof操作符
转自:http://www.cnblogs.com/wangkangluo1/archive/2011/09/27/2193072.htmlC语言之sizeof操作符sizeof不是函数一、sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。 它并不是函数。 sizeof操作符以字节形式给转载 2015-04-13 17:50:25 · 587 阅读 · 0 评论 -
C语言之unsigned 与signed
C语言之unsigned 与signed在C中,默认的基础数据类型均为signed,现在我们以char为例,说明(signed) char与unsigned char之间的区别 首先在内存中,char与unsigned char没有什么不同,都是一个字节,唯一的区别是,char的最高位为符号位,因此char能表示-128~127, unsigned char没有符号位,因此转载 2015-04-13 20:16:15 · 6368 阅读 · 0 评论 -
C语言之二级指针/双重指针
C语言之二级指针/双重指针首先,回顾字符串与指针的关系,声明如下:char *string="Hello!";char string[]="Hello!";复杂声明解释方法:原创 2015-04-11 18:08:52 · 5061 阅读 · 0 评论 -
C语言之字符串与指针
转载自:http://blog.chinaunix.net/uid-26921272-id-3325954.htmlC语言之字符串与指针1、 字符串的表示形式在C语言中,我们可以用两种方式访问字符串(1) 用字符数组存放一个字符串,然后输出该字符串。main(){ char string[]="I love China!";转载 2015-04-11 17:12:41 · 1901 阅读 · 1 评论 -
C语言之指针数组与数组指针
转载自http://c.biancheng.net/cpp/html/476.htmlC语言之指针数组与数组指针一、指针数组和数组指针的内存布局初学者总是分不出指针数组与数组指针的区别。其实很好理解:指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定。它是“储存指针的数组”的简称。数组指针:首先它是一个指针,它指向一个数组转载 2015-04-11 11:14:17 · 306 阅读 · 0 评论 -
C语言之复杂声明
转载自:http://blog.csdn.net/wangweixaut061/article/details/6549768C语言之复杂声明C语言所有复杂的指针声明,都是由各种声明嵌套构成的。如何解读复杂指针声明呢?右左法则是一个既著名又常用的方法。不过,右左法则其实并不是C标准里面的内容,它是从C标准的声明规定中归纳出来的方法。C标准的声明规则,是用来解转载 2015-04-11 11:34:35 · 555 阅读 · 0 评论 -
C语言之头文件包含问题
C语言之头文件包含问题转自:http://blog.chinaunix.net/uid-23922099-id-3586571.htmlAnswer 1:#include 会将指定文件的内容插入到源程序文件中。当使用的格式时,编译器会从环境变量INCLUDE所指定的路径中寻找file-name 文件,如果没有定义INCLUDE,C 编译器会在指定的路径中搜寻文件。如转载 2015-05-30 11:55:01 · 1321 阅读 · 0 评论 -
c语言之sizeof函数
c语言之sizeof函数转自:http://baike.baidu.com/link?url=wHqo_l0-gRbr_aRQ1lW0k1FxlE3bgDdHoo7GUR4w8PYOfAoABJugngCDr6vIxBc8w14jEhrNIuG0QsCJ1dlpiq1.不是一个函数,字节数的计算在程序编译时进行,而不是在程序执行的过程中才计算出来!2.sizeof是C/C++中转载 2015-06-06 09:57:13 · 632 阅读 · 0 评论 -
C语言之实际问题——指针赋值
C语言之实际问题——指针赋值代码:const u8 testbuf[20]={0}void fun(u8 mode){ u8* ptbuf=0;switch mode: case 1: ptbuf = testbuf; printf(ptbuf); ;break;case 2原创 2015-06-06 10:20:59 · 639 阅读 · 1 评论 -
C语言之强化,弱化符号weak
C语言之强化,弱化符号weak转自:http://blog.csdn.net/astrotycoon/article/details/8008629一、概述在C语言中,函数和初始化的全局变量(包括显示初始化为0)是强符号,未初始化的全局变量是弱符号。对于它们,下列三条规则使用:① 同名的强符号只能有一个,否则编译器报"重复定义"错误。② 允许一个转载 2015-09-11 09:29:53 · 15720 阅读 · 0 评论 -
C语言之#和##
C语言之#和##转自:http://www.linuxidc.com/Linux/2014-06/102924.htm一、一般用法我们使用#把宏参数变为一个字符串,用##把两个宏参数贴合在一起.用法:#i nclude#i ncludeusing namespace std; #define STR(s) #s#define CONS(a,转载 2015-09-09 17:41:23 · 329 阅读 · 0 评论 -
C语言之#pragma pack或者__packed学习
C语言之#pragma pack学习转自:http://www.cppblog.com/range/archive/2011/07/15/151094.html#pragma pack学习 最近调试网络的服务端程序,自己写了一个小客户端程序来测试,发现服务程序解包错误。经调试发现客户端的协议头大小和服务器端的协议头大小不一致。原因是服务器端加了#pra转载 2015-05-28 11:47:12 · 5737 阅读 · 0 评论