为了账号安全,请及时绑定邮箱和手机立即绑定

趣味 C++ 进阶

难度初级
时长 8小时 0分
学习人数
综合评分9.60
10人评价 查看评价
10.0 内容实用
8.8 简洁易懂
10.0 逻辑清晰
  • 函数返回一个绳子:函数返回指针

    指针变量其实和普通变量没有什么区别,一个函数也是可以正常返回一个指针的。

    char * func() {     char * p = nullptr;     return p; } 

    int main(int argc,char **argv) {     return 0; }
    但是我们需要思考的是,什么情况下我们要返回一个指针,返回指针的时候需要我们注意些什么?通常情况下,我们是希望为函数外提供一片内存,例如,我们可以给函数外面提供一个数组。int * func() {     int arr[] = {1, 2, 3, 4};     return arr; }
    但是这样写得话,程序会崩溃掉。原因是,arr 数组是一个局部变量,在 func 结束之后,其内存就被销毁掉了。此时在函数外面对其进行操作,自然会出问题。所以,要完成这类操作,我们需要把内存分配到堆内存上面。

    int * func() {     int * arr = (int *)malloc(4 * sizeof(int));     return arr; }
    这样就没有问题了,当然,既然是分配在了堆内存上,就要记得手动销毁。

    int main(int argc,char **argv) {     int * p = func();     free(p);     return 0; }

    查看全部
  • #include<cstring>

    memcpy指的是C和C++使用的内存拷贝函数,函数原型为void *memcpy(void *destin, void *source, unsigned n);函数的功能是从源内存地址的起始位置开始拷贝若干个字节到目标内存地址中,即从源source中拷贝n个字节到目标destin中。

    查看全部
    0 采集 收起 来源:强者争霸

    2021-07-19

  • 指针变量其实和普通变量没有什么区别,一个函数也是可以正常返回一个指针的。

    查看全部
  • 代码块中定义的变量被称之为局部变量。它们在其他函数的语句中是不可见的,也无法访问它们。

    全局变量是在所有函数体的外部定义的,程序的所有部分都可以使用。全局变量不受作用域的影响,其生命周期一直到程序的结束。

    查看全部
  • 无法确认指向的指针,或者指向一个无效地址的指针,我们把他叫做野指针

    查看全部
  • 数组名就是一个指针,不过数组名是一个常量指针,不能做累加或者累减操作

    查看全部
  • 指针的本质(*:解引用、&:取地址)

    查看全部
  • 我的笔记

    查看全部
  • 开始学习
    查看全部
  • 负数的二进制表示:正数取反+1

    在CPU里进行数字运行,用取反电路来做。比如:3-4的运算,也就是先给4取反,再+3+1

    查看全部
  • 函数返回值类型+(指针变量名)+(函数传入的参数)=函数名

    第25行的代码表示用指针的形式调用函数

    dowork()回调函数的用法

    查看全部
  • #include <stdio.h>


    int myFunc(int, int, int(*callBack)());

    int funcA();

    int funcB();

    int funcC();


    int main(int argc, char** argv)

    {

        

        

        myFunc(4, 5, funcA);

        myFunc(5, 1, funcB);

        return 0;

    }


    int myFunc(int a, int b, int(*callBack)())

    {

        int c = a + b;

        int d = b + c;

        (*callBack)();

        return 0;

    }


    int funcA()

    {

        printf("funcA\n");

        return 0;

    }


    int funcB()

    {

        printf("funcB\n");

        return 0;

    }

    查看全部
首页上一页7891011下一页尾页

举报

0/150
提交
取消
课程须知
你需要具备基础的 C++ 语法知识,在学习本课程之前,建议先学习《趣味 C++ 入门》,快速认识 C++,熟悉 C++ 基本语法,更加快速入手进阶课程!
老师告诉你能学到什么?
在本门课程中,你将学习到:计算机存储数据的原理、指针的进阶、面向对象编程、内存管理技巧等 C++ 高级语法。在课程的最后,将带领大家使用 C++ 编写一个五子棋游戏,通过实践,加深理解,巩固学习成果。

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!