• C基础(1)


    1. 宏定义 + do...while(0)

    当宏定义有多行时,需要使用。避免情况:
    if(1)
        宏row1
    宏row2

    2. 宏定义 + 小括号参数

    参数使用小括号括起来。避免情况参数是表达式。

    3. 结构体中最后一个成员数组长度为[0]
    1. 巧妙实现对结构体扩展。通常都是用指针。
    2. 相较于用指针,不需要初始化。不占用空间。
        struct MyData
        {
            int nLen;
            char data[0];
        };
        int main()
        {
            int nLen = 10;
            char str[10] = "123456789";
            cout << "Size of MyData: " << sizeof(MyData) << endl;
            MyData *myData = (MyData*)malloc(sizeof(MyData) + 10);
            memcpy(myData->data,  str, 10);
            cout << "myData's Data is: " << myData->data << endl;
            free(myData);
            return 0;
        }
    	输出:
    	Size of MyData: 4
    	myData's Data is: 123456789
    
    4. 宏定义 + 连接符#
  • 相关阅读:
    富文本编辑器编辑
    你是怎么发上去的
    f
    xxx
    test
    sgsdg
    code
    html2canvas.js——HTML转Canvas工具
    后台返回流图片的处理方式。(原生,JQ,VUE)
    渐进式web应用开发---service worker
  • 原文地址:https://www.cnblogs.com/gaara-zhang/p/14831988.html
Copyright © 2020-2023  润新知