lua源码学习 C语言语法杂记

  • 运算符
    • 算术运算符
    • 关系运算符
    • 逻辑运算符
    • 位运算符
    • 赋值运算符
    • 杂项运算符
    • 运算符优先级
  • typedef 以及它的特殊用法 typedef void* (*fun)(void*)
  • free函数
  • alloc函数
  • calloc函数
  • malloc函数
  • realloc函数

运算符

摘自C 运算符|菜鸟教程

算术运算符

关键词:+,-,*,/,%,++,–
lua源码学习 C语言语法杂记_第1张图片

关系运算符

关键词:==,!=,>,<,>=,<=
lua源码学习 C语言语法杂记_第2张图片

逻辑运算符

关键词:&&,||,!
lua源码学习 C语言语法杂记_第3张图片

位运算符

关键词:&,|,^,~,<<,>>
lua源码学习 C语言语法杂记_第4张图片

赋值运算符

关键词:=,+=,-=,*=,/=,%=,<<,>>,&=,^=,|=
lua源码学习 C语言语法杂记_第5张图片

杂项运算符

关键词:sizeof(),&,*,?
lua源码学习 C语言语法杂记_第6张图片

运算符优先级

lua源码学习 C语言语法杂记_第7张图片

typedef 以及它的特殊用法 typedef void* (fun)(void)

简单用法
lua源码学习 C语言语法杂记_第8张图片
复杂用法学习自:https://blog.csdn.net/weixin_42255385/article/details/82261774
举个栗子:

typedef int a[10]; /* 声明为具有10个int元素的数组的类型别名 */
typedef void (*p)(void); /* p是一种函数指针的类型别名。 */

free函数

C 库函数 void free(void *ptr) 释放之前调用 calloc、malloc 或 realloc 所分配的内存空间。

alloc函数

学习自https://www.cnblogs.com/youngforever/articles/3129130.html
alloc(size_t size);
与其他的内存分配不同,因为它是在栈上分配了size大小的内存,因此使用此函数分配的内存不用再担心内存释放的情况了。但是使用此函数需要注意的是:在函数内部使用此函数分配的内存随着函数的终结不复存在,因此不能将此函数分配的内存供函数外部使用。

calloc函数

学习自https://www.cnblogs.com/youngforever/articles/3129130.html
它将分配count个size大小的单原,因此在便用此函数的时候就会很方便,比如对上面的例子就可以:(student_t *)calloc(sizeof(t_student), N)就可以了。这样使用就会很清晰的知道分配的内存是一种什么样的逻辑方式。

malloc函数

学习自:http://www.169it.com/it-c-cpp/article-malloc-3931680852687529154
malloc函数向系统申请分配size个字节的内存空间。返回值类型是 void* 类型。void* 表示未确定类型的指针。c,c++规定,void* 类型可以强制转换为任何其它类型的指针。

 #include  
#include  
int main()  
{  
    char *p;  
    
    p=(char *)malloc(100);  
    if(p)  
        printf("Memory Allocated at: %x/n",p);  
    else  
        printf("Not Enough Memory!/n");  
    free(p);  
    return 0;  
}

realloc函数

学习自
https://blog.csdn.net/hackerain/article/details/7954006
lua源码学习 C语言语法杂记_第9张图片

你可能感兴趣的:(lua源码学习)