zoukankan      html  css  js  c++  java
  • 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 = 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++)!='');
     return r;
     }
     /*while((*des++=*source++));的解释:赋值表达式返回左操作数,所以在赋值NULL后,循环停止*/
     while(*des++=*source++);等价于
    while(1)
    {
        *des = *source;
        if(*source == '')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!=’’)的简化形式
        {
            //若使用while(*strDest++),则会出错,因为循环结束后strDest还会执行一次++,
            //那么strDest将指向''的下一个位置。/所以要在循环体内++;因为要使*strDest最后指
            //向该字符串的结束标志’’。
            strDest++;
        }
     
        while(*strDest++=*strSrc++)
        {
            NULL;//该循环条件内可以用++,
        }//此处可以加语句*strDest=’’;无必要
        return address;//为了实现链式操作,将目的地址返回
    }
       char *mystrcat(char *dst,const char *src) //用自己的方式实现strcat函数功能
       {
           char *p=dst;  //下面的操作会改变目的指针指向,先定义一个指针记录dst
           while(*dst!='')dst++;
           while(*src!='')*dst++=*src++;
           *dst='';
      return p;  //dst现在指向拼接后的最后一位字符,在这里返回dst,会出现错误
      }
     
    void Delete()
        {
            if(Ptr != NULL) delete [] Ptr;
            Ptr = NULL;
            Len = 0;
        }
    char  *Ptr;
    char lastSourceChar = Ptr[Len -1];
    string strReadBuf("");
  • 相关阅读:
    javascript循环结构练习
    个人复习JavaScript重点(总结一)
    第十章汽车租凭系统
    员工执行
    第六章预习
    第五章使用Dictionary替换List<t>实现功能
    第5章体检套餐管理系统
    JAVA面试题
    AJAX
    SSM中的登陆验证码
  • 原文地址:https://www.cnblogs.com/yaowen/p/4800212.html
Copyright © 2011-2022 走看看