cc代码学习笔记1
#define
#define INT32 int #define INT8 char #define CHAR char
#define SSHORT signed short #define INT16 signed short #define _ASSERT_STR(z) _ASSERT_TMP(z)
#define _ASSERT_TMP(z) #z //变成字符串 C语言中的__FILE__用以指示本行语句所在源文件的文件名
C语言中的__LINE__用以指示本行语句在源文件中的位置信息
__func__,它指示所在的函数
#line来重新设定__LINE__的值 typedef ssize_t (*zmss_readlinkP)(const char*, char*, size_t); ssize_t是类型 typedef QTSS_Error (*QTSS_CallbackProcPtr)(...);//声明函数指针类型 typedef QTSS_Error (*QTSS_CallbackProcPtr)(...); //声明函数指针类型,它的类型变量可以为函数名即函数地址,任意参数QTSS_Error返回类型。
Strcpy
#include<iostream>
#include<stdlib.h>
using namespace std;
void main()
{
int a = ;
int b = ;
int c = (b=a);
cout << "c:" << c<<endl;//返回赋的值3
system("pause");
} char* strcpy(char* des,const char* source)
{
char* r=des;
assert((des != NULL) && (source != NULL));
while((*des++ = *source++)!='\0');
return r;
}
/*while((*des++=*source++));的解释:赋值表达式返回左操作数,所以在赋值NULL后,循环停止*/
while(*des++=*source++);等价于
while()
{
*des = *source;
if(*source == '\0')break;
source++;
des++;
} strcat拼接函数
//将源字符串加const,表明其为输入参数
char* strcat(char* strDest , const char*s trSrc)
{
//后文return address,故不能放在assert断言之后声明address
char* address=strDest;
assert( (strDest!=NULL)&&(strSrc!=NULL) );//对源地址和目的地址加非0断言
while(*strDest)//是while(*strDest!=’\0’)的简化形式
{
//若使用while(*strDest++),则会出错,因为循环结束后strDest还会执行一次++,
//那么strDest将指向'\0'的下一个位置。/所以要在循环体内++;因为要使*strDest最后指
//向该字符串的结束标志’\0’。
strDest++;
} while(*strDest++=*strSrc++)
{
NULL;//该循环条件内可以用++,
}//此处可以加语句*strDest=’\0’;无必要
return address;//为了实现链式操作,将目的地址返回
}
char *mystrcat(char *dst,const char *src) //用自己的方式实现strcat函数功能
{
char *p=dst; //下面的操作会改变目的指针指向,先定义一个指针记录dst
while(*dst!='\0')dst++;
while(*src!='\0')*dst++=*src++;
*dst='\0';
return p; //dst现在指向拼接后的最后一位字符,在这里返回dst,会出现错误
} void Delete()
{
if(Ptr != NULL) delete [] Ptr;
Ptr = NULL;
Len = ;
}
char *Ptr;
char lastSourceChar = Ptr[Len -];
string strReadBuf("");
cc代码学习笔记1的更多相关文章
- CC/G++ 学习笔记
CC/G++ 学习笔记 本文是<An introduction to GCC>的学习笔记,记录使用GCC/G++主要的实用技巧,本文讲述的知识基本上摘自本书,附带自己的一些体验.如果想详细 ...
- Learning Memory-guided Normality代码学习笔记
Learning Memory-guided Normality代码学习笔记 记忆模块核心 Memory部分的核心在于以下定义Memory类的部分. class Memory(nn.Module): ...
- DeepLearnToolbox-master代码学习笔记
卷积神经网络(CNN)博大精深,网上资料浩如烟海,让初学者无从下手.笔者以为,学习编程还是从代码实例入们最好.目前,学习CNN最好的代码实例就是,DeepLearnToolbox-master,不用装 ...
- C# 好代码学习笔记(1):文件操作、读取文件、Debug/Trace 类、Conditional条件编译、CLS
目录 1,文件操作 2,读取文件 3,Debug .Trace类 4,条件编译 5,MethodImpl 特性 5,CLSCompliantAttribute 6,必要时自定义类型别名 目录: 1,文 ...
- 1.JAVA中使用JNI调用C++代码学习笔记
Java 之JNI编程1.什么是JNI? JNI:(Java Natibe Inetrface)缩写. 2.为什么要学习JNI? Java 是跨平台的语言,但是在有些时候仍然是有需要调用本地代码 ( ...
- APM代码学习笔记1
libraries目录 传感器 AP_InertialSensor 惯性导航传感器 就是陀螺仪加速计 AP_Baro 气压计 居然支持BMP085 在我印象中APM一直用高端的MS5611 AP_Co ...
- boost timer代码学习笔记
socket连接中需要判断超时 所以这几天看了看boost中计时器的文档和示例 一共有五个例子 从简单的同步等待到异步调用超时处理 先看第一个例子 // timer1.cpp: 定义控制台应用程序的入 ...
- APM代码学习笔记3:执行过程
以Linux平台ArduPlane为例 \ArduPlane\Plane.cpp 定义Plane类 继承自AP_HAL::HAL::Callbacks ,获取hal对象. \ArduPlane\Ard ...
- APM代码学习笔记2:编译过程
make编译 所有位置的Makefile 引用的都是/mk/apm.mk target.mk 设置CONFIG_HAL_BOARD 例如linux就是HAL_BOARD_LINUX environ.m ...
随机推荐
- bzoj 1001: [BeiJing2006]狼抓兔子 平面图最小割
平面图跑最大流 可以转换为其对偶图跑最短路 一个环对应一个割 找到最小环(即最短路)极为所求,注意辅助边的建立 加入读入优化 不过时间还是一般 估计是dij写的不好 大神勿喷~~~ /*** ...
- hdu 1544 水题
水题 /* * Author : ben */ #include <cstdio> #include <cstdlib> #include <cstring> #i ...
- 微信多媒体上传图片,创建卡券上传 LOGO
//*****************************************多媒体上传图片 begin******************************************** ...
- IOS-day01_OC中类的创建以及使用
OC中定义类 // 设计一个车类 @implementation Car : NSObject // 这个大括号里面写所有的属性 { @public int wheels ;//轮子个数 double ...
- 马上着手开发Mac应用程序
你是否想要开发 Mac 应用程序却又不知道从哪里入手?本路线图提供了 Mac 应用程序开发的绝佳起点,即使你已经是一个 iOS 开发专家,本路线图对你依然适用.Apple让开发应用程序和提交应用程序到 ...
- CentsOS7 网络自动启动
虚拟机中安装完成CentOS7后,网络总是需要手工启动才可使用,设置为自动连接的方式如下: cd /etc/sysconfig/network-scripts/ls #找到类似的文件:ifcfg-et ...
- 面向切面编程(AOP)及其作用
在OOP设计中,它导致了大量代码的重复,而不利于各个模块的重用. 1.面向切面编程(AOP) 面向切面编程(AOP)就是对软件系统不同关注点的分离,开发者通过拦截方法调用并在方法调用前后添加辅助代码. ...
- ubuntu下通过pip安装pyside
首先安装相关库 sudo apt-get install build-essential git cmake libqt4-dev libphonon-dev python2.7-dev libxml ...
- Python相关工具清单[持续更新]
SublimeJEDI : awesome Python autocompletion with SublimeText. Awesome Python : A curated list of awe ...
- list、tuple、dict、set、map
list Python内置的一种数据类型是列表. list是一种有序的集合,可以随时添加和删除其中的元素. # 创建list classmate = ['micheal', 'Bob', 'Tracy ...