c语言问题

变量

可修饰变量关键词:

三大特点:

作用域:

生命周期:

存储区域:

数据类型:

类型之间的转换:

规则与优先级

基本数据类型

字符类型:

字符/字符串/

字符串函数

数组类型:

指针类型:

构造数据类型:

结构体与公用体区别:

字节对齐:

引出对指针的理解 

定义:

作用:

内存空间大小

地址分为不同类型

常见指针类型:

多级指针:

作用与用法:

函数指针与指针函数(开启对函数的理解)

野指针:

定义:

产生问题:

内存泄漏问题:(理解内存泄漏)

注意事项

智能指针:

内存

内存分配图:

存储方式:

静态/动态:

存放的变量:

对象

分配与释放(malloc与free)

堆与栈区别:

静态存储区:(static关键词->关键词)

内存泄漏:

函数:

定义:

为什么使用函数:

函数的语法:

函数三要素:

函数的调用过程:

传值Vs传地址

返回值:

函数的可重入性

常用关键字(c/c++区别)

register:

作用:

原理:

场景:

与volatile对比:

volatile:

作用:

原理:

场景:

。。。

static:

。。。

与const区别:

const:

。。。

inline:

。。。

与#define区别(引出预处理,编译,汇编,链接)

#defineVs typedef

c语言编译过程

预处理:

任务:

头文件展开:

宏替换:

概念:

注意:

编译:

汇编:

链接:

位运算:

6种操作符

位操作使用技巧:

1.判断奇偶

2.交换两数

3.变化符合

4.求绝对值

位操作作用法

#include <stdio.h>

int my_strlen(char *str)
{
    int count = 0;
    while(*str != '\0')
    {
        count++;
        str++;
    }
    return count;
}
int my_strcmp(char*des, char* str)
{
    while(*des != '\0' && *str != '\0'&& *des == *str)
    {
        des++;
        str++;
    }
    return *des - *str;
}

char *my_strcpy(char *des, char*str)
{
    int i=0;
    while(str[i] != '\0')
    {
        des[i] = str[i];
        i++;
    }
    des[i] = '\0';
    return des;
}

char *my_strcat(char*des, char*str)
{
    
}

void main(int argc, char *argv[])
{
    char a[12];
    printf("%d\n",my_strlen("hello"));
    printf("%d\n",my_strcmp("hoo1","hoola"));
    printf("%s\n",my_strcpy(a,"wwww"));
    return ;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值