码迷,mamicode.com
首页 > 其他好文 > 详细

cc代码学习笔记1

时间:2015-09-11 12:03:49      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:

#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 = 3;
int b = 4;
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(1)
{
    *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 = 0;
    }
char  *Ptr;
char lastSourceChar = Ptr[Len -1];
string strReadBuf("");

 

cc代码学习笔记1

标签:

原文地址:http://www.cnblogs.com/yaowen/p/4800212.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!