C语言
ms347
陕西省西安市
展开
-
C语言的数据存储区
C语言分为4个存储区域:代码区静态存储区栈区堆区代码区:存放编译后的可执行代码的区域。 静态存储区:存储着静态变量(static修饰的变量 如:static int a; ) 和一些常量(如 char *p="abcd"; 其中的“abcd”就是存储在静态存储区的 并且被认为是只读的)以及全局变量,全局变量和静态变量在分配内存时会被初始化器初始化为类型0。原创 2015-10-19 20:25:14 · 1042 阅读 · 1 评论 -
memcmp,memcpy,memmove,memset,strcat,strcmp,strcpy,strlen 8个函数的实现
为区别库函数,函数名首字母大写。Memcmp函数://内存区域内容比较函数 int Memcmp(const void *buf1,const void *buf2,unsigned int count){ unsigned int i=0; while(i<count) { if( ((char*)buf1)[i]!= ((char*)buf2)[i] )原创 2015-11-30 22:44:18 · 702 阅读 · 0 评论 -
C语言实现printf的部分功能
代码:头文件 MyPrintf.cpp 函数的声明//MyPrintf.h#pragma once//使用putchar实现printf的功能#include#include//函数声明void Int_Print(int out); //打印整数void Float_Print(float out); //打印浮点数void X_Print(long out);原创 2015-11-30 15:18:35 · 848 阅读 · 0 评论 -
C语言闰年判断函数
bool IsLeapYear(int year){ return (year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0);}year的值 是闰年返回真, 不是闰年返回假。原创 2015-11-29 16:39:12 · 1774 阅读 · 0 评论 -
C++实现单链表(2) 一些函数的实现
void PrintTailtoHead(ListNode * pHead) //逆向输出链表{if (pHead == NULL){return;}else{PrintTailtoHead(pHead->_next);printf("%d->", pHead->_data);}/*if(pHead){PrintTailtoHead(pHea原创 2015-11-20 00:46:45 · 408 阅读 · 0 评论 -
C语言预处理 # 和## 运算符
我觉得不能称之为运算符,应该叫做“标记符”,标记一个宏,则这个宏就可以被预处理器进行相关处理。那么这种相关处理,就取决于不同的标记符。#标记符 标记后面的宏变为该宏的字符串形式 1. #标记符#include#define check(exp) (exp) //表达式原封不动的替换#define ToString(exp) #exp // 相当于给表达原创 2015-11-02 22:44:10 · 932 阅读 · 0 评论 -
可变参数列表(2)
可变参数列表的4个宏解释:首先,stdarg.h里定义了va_list:typedef char * va_list; 说明va_list 是一个指针char * 类型 ,下面会用到。///////////////////////////////////////////////////////////////////////////////////////////////原创 2015-11-02 14:08:53 · 349 阅读 · 0 评论 -
C语言可变参数列表(1)
尝试使用C语言可变参数列表对于一些函数有的时候,我们不希望它只能传递固定参数,例如如果我们想计算2个整数数之和写一个int sum(int ,int );的函数,但是如果想计算3个数之和呢?n个数之和呢?不可能去定义无限多个函数,也不能让函数的参数太多,形如int sum(int ,int ,int ,int ,int ,int ,int ,int ,int ,int );10个数求和原创 2015-10-20 22:09:57 · 603 阅读 · 1 评论 -
复杂链表的拷贝实现
算法借鉴互联网1.头文件一些声明://ComplexList.h/***************************************复杂链表的复制实现*****************************************/#pragma once#include#include#include#include//类型定义typedef int原创 2015-11-22 02:00:36 · 403 阅读 · 0 评论 -
C语言函数调用传递参数时的类型退化
首先看一个例子:#includevoid test(int a[10]);int main(){int a[10]={1,2,3,4,5,6,7,8,9,10};printf("%d\n",sizeof(a)); //40test(a);return 0;}void test(int a[10]) // int * a; {printf("原创 2015-11-09 15:38:23 · 939 阅读 · 0 评论 -
C语言求两个整数最大值
上代码:#include#define Max(a,b) ((a>b)?(a):(b)) //预处理实现int max(int a,int b) //函数实现{return a>b?a:b;}int main(){printf("%d\n",Max(18,19));printf("%d\n",Max(19,18));printf("\n");p原创 2015-10-19 23:19:58 · 5795 阅读 · 0 评论 -
C语言实现打印乘法口诀表
较为简单,所以展示源代码: //乘法口诀表#include int main(){int i=0,j=0; //i表示行 j表示列for(i=1;i{for(j=1;j{printf("%d*%d=%d ",j,i,j*i);}printf("\n");}return 0;}程序截图:原创 2015-10-19 23:14:26 · 647 阅读 · 0 评论 -
libcurl编程教程
毕业设计翻译了一部分libcurl的编程教程,包含中文翻译及英文原文。现在分享出来以供大家参考。libcurl编程教程1 名称libcurl-tutorial —— libcurl编程教程2 目的本文档尝试描述使用libcurl进行编程时要考虑的一般原则和一些基本方法。本文将主要集中在基于C的接口上,但是在其他接近C语言的接口上也能很好地应用,通常它们跟C一样。原创 2017-07-02 23:44:58 · 671 阅读 · 0 评论