C语言小知识

C语言小知识

  • 1. 头文件 string.h
    • 1.1. 函数 strstr( str1: 被查找目标, str2: 要查找对象)
  • 2. 类型
    • 2.1. __int64
    • 2.2. 地址
  • 3. 制作C语言库
    • 3.1. 须知 - 预处理指令
    • 3.2. 实例
  • 4. tar 压缩和解压
  • 5. 结构体复制

1. 头文件 string.h

1.1. 函数 strstr( str1: 被查找目标, str2: 要查找对象)

str1 中有 str2, 则返回str2在str1的首次出现的地址;反之, 返回NULL。

2. 类型

2.1. __int64

// 声明一个长度为1的64位整型数组, 并赋初值为0
__int64 G[1] = {0};

// 输出64为整型
printf("%I64d\n", G[0])

2.2. 地址

int element_id = &param;
printf("%p", element_id);

3. 制作C语言库

3.1. 须知 - 预处理指令

  1. 预处理指令
  • #ifndef 如果没有定义过, 就保留程序段1
#ifndef 宏名
    程序段1 
#else 
    程序段2 
#endif
  • #ifdef 如果定义过就保留程序段1
#ifdef 宏名
    程序段1 
#else 
    程序段2 
#endif
  • 宏名要全局唯一
  • #ifdef 和 #ifndef 后面跟的只能是一个宏名

3.2. 实例

  1. .h文件 定义
#ifndef C_ADD_H
#define C_ADD_H

int add(int a, int b);

#endif
  1. .c文件 引入头文件, 再实现
#include "add.h"

int add(int a, int b)
{
    return a + b;
}
  1. 使用自定库文件
#include 
#include "add.h"

int main(void)
{
    int a = 20;
    int b = 10;
    printf("%d+%d=%d\n", a, b, add(a, b));
    return 0;
}

  1. 我的vscode使用自定义库文件, 需要一下处理

4.1. 设置的搜索栏中 CODE RUNNER
C语言小知识_第1张图片
4.2 下图那一行修改为 *.c
C语言小知识_第2张图片

4. tar 压缩和解压

compression:

tar -czvf 

decompression:

tar -xzvf
tar -xzvf xxx.tar.gz -C 目录路径
-C 是指要解压到的路径,要注意-C是在文件路径之后的

5. 结构体复制

memcpy(被赋值的结构体地址, 源数据结构体地址, sizeof(结构体类型));
  • 注意如果传递的是地址, 那么该地址的变量被销毁后, 收到地址的全局变量也是用不了的

update…

你可能感兴趣的:(C语言,c语言,开发语言)