随笔分类 - C语言
strftime格式化输出时间
摘要:1 #include<stdio.h> 2 #include<time.h> 3 4 int main(int argc, char *argv[]) 5 { 6 time_t rawtime; 7 struct tm *info; 8 char buffer[80]; 9 time( &rawti
阅读全文
柔性数组使用备忘
摘要:零长数组一般被放置在一个结构体的末尾,作为扩展内存大小的占位符而存在的,这是数组唯一可以“越界”访问的场合 。 用在封装数据包的场合(因为数据包大小是不确定的) 在不同的客户机之间发送一些信息,这些信息包括一些固定长度的数据,比如客户机的 IP 地址、主机名等,还包含一些长度不确定的数据,比如用户自
阅读全文
指针和数组备忘
摘要:#include <stdio.h> int main(int argc, char *argv[]){ int a[3] = {100, 200, 300}; //int *p; int (*p)[3]; //p = a + 1;//输出结果是2 //p = &a + 1;//输出一个无效的数 /
阅读全文
计算信息帧的校验和(备忘)
摘要:#include <stdio.h> #define INS_HEADER1 0x55 //标准帧头1#define INS_HEADER2 0xAA //标准帧头2 //规定了数据帧当中的固定成员,其余数据成员由单元实现的功能决定//这里的公用的数据成员必须添加typedef struct INS
阅读全文
C语言实现过滤ASCII在0~127范围内的字符,并去除重复的字符
摘要:1 #include 2 #include 3 /* 4 1.以字符串作为参数 5 2.找出ASCII在1~127范围内的字符 6 3.去掉重复字符 7 */ 8 9 int GetString(char *str); 10 11 int main(int argc, char *argv[]) 12 { 13 char ch[] = "abcd1231231...
阅读全文
extern "C"的用法
摘要:文章转自开源电子论坛:http://www.openedv.com/forum.php?mod=viewthread&tid=7986 看一些程序的时候老是有 “#ifdef __cplusplus extern "C" { #endif”的定义,搞搞清楚是怎么回事: Microsoft-Speci
阅读全文
将一个十进制整数转换为二进制并输出
摘要:1 #include 2 #include 3 4 int main(int argc, char *argv[]) 5 { 6 char bin[8 * sizeof(int)]; 7 int n = 0; 8 int index; 9 10 scanf("%d", &n); 11 ...
阅读全文
指针和数组
摘要:数组和指针有关系吗?一点关系也没有!大多数人认为它们有关系,那是因为大多数写C语言教材的作者通常会把数组和指针放在一起介绍。如果分开写,可能大部分人会掌握的更好(写在一起容易混淆)。唯一有一点点关系的就是:数组标记实际上是一种变相使用指针的方式。这是数组和指针之间爱恨情仇的前提吧。比如:数组名同时也
阅读全文
原码,反码,补码
摘要:在计算机内,有符号数有3种表示法:原码、反码和补码。 在计算机中,数据是以补码的形式存储的,所以补码在c语言的教学中有比较重要的地位,而讲解补码必须涉及到原码、反码。 解释:原码就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。 反码表示法规定:正数的反码与其
阅读全文
数组基础知识
摘要:总结一下数组和指针的知识,分析一下它们之间的关系 好像是一点关系也没有,指针就是指针,数组就是数组。认为有关系的大都是写C语言书的作者强行把它们两者放到一起写吧,如果分开写,嗯,估计大家学起来可能会分的更清楚写吧,作为小白的我是这么认为的。 指针,在32位系统下面,指针变量都是占据4字节内存大小,指
阅读全文
二进制和十进制的相互转换
摘要:整数转换为二进制输出#include <stdio.h>#include <string.h>int main(int argc, char *argv[]){ char bin[8 * sizeof(int)]; int n = 0; int index; scanf("%d", &n); for
阅读全文
break和continue的区别
摘要:一.共同点:都是有终止循环的作用 二.区别:break是终止本层的循环,continue是终止本次循环。 三.举例 while(....)//第一层循环 { while(....)//第二层循环 { ...... break; } } 如上代码,当有两层循环时候,break会终止内层循环,也就是终止
阅读全文
sizeof和strlen的区别
摘要:一.一些废话 关于sizeof和strlen这两者的区别之前自己也是模糊不清,分不清谁的计算结果包含\0,谁的计算结果不包含\0,因此写下自己的一些理解,有错误的地方希望大家指出。 二.一些理论 首先,sizeof它是一个关键字而不是函数,sizeof(int)和sizeof int,这两个计算的结
阅读全文
C语言实现整数和16进制互相转换
摘要:编译环境:Dev-C++ 5.2.0.3 使用sprintf()函数实现转换,代码如下: #include <stdio.h> #include <stdlib.h> int main(int argc, char* argv[]) { int num; printf("Enter a intege
阅读全文
浙公网安备 33010602011771号