C语言基础补充
全部评论
数组名相当于数组第一个元素的指针 一维数组作为函数参数,必须把函数的长度也传进去,如void func(int *arr,int len) 普通数组在栈上分配内存 动态数组在堆上分配内存,如new 和malloc 出来的数组,由堆管理 全局变量由静态区管理 动态数组用delete[] arr来释放,不能只用delete arr malloc 用free来释放,new用delete来释放 所以最好用动态数组,因为普通数组放在栈上,栈上容量不够
点赞 回复 分享
发布于 2023-08-16 10:41 河南
申请内存失败的话,那么程序可能会直接报错。 此时可以加上nothrow关键字,如int *a=(std::nothrow)int[10000] 之后再判断if(a==nullptr)就可以了
点赞 回复 分享
发布于 2023-08-16 10:44 河南
int *p,整型指针 int *p[3],一维整型数组指针 int* p(),表示函数的返回值是int的地址 int (*p)(int,int),p是函数指针,函数的返回值是整型
点赞 回复 分享
发布于 2023-08-16 10:57 河南
函数指针,函数指针代表函数存放的地址,也就是那段代码段的地址 可以通过函数指针来调用函数, 用函数指针来指向函数的地址,然后通过函数指针来调用函数 原函数的声明int func1(int bh,string str),函数指针的声明int (*pta)(int,string) func(ba,message) void (*pfunc)(int,string) pfunc=func; (*pfunc)pfunc(bh,message)
点赞 回复 分享
发布于 2023-08-16 11:14 河南
引用就是给变量起别名,操作引用就是操作该变量 引用一旦初始化之后,不能再改了,引用有点像指针常量,一旦指出去了,就必须指向那一块
点赞 回复 分享
发布于 2023-08-16 16:38 河南
函数传参,有三种形式,地址传递,引用传递,值传递 引用在函数传参时,比用指针传参方便 写法void swap(int &a,int &b),调用函数的时候,用swap(a,b)即可 函数不能返回局部变量的引用,因为局部变量在函数调用完生命周期已经结束了 全局区:静态变量,全局变量
点赞 回复 分享
发布于 2023-08-21 14:47 河南
函数的调用可以作为左值,比如一个函数int & func(){ static int a=... return a} func()=1000, 此时会将a修改成1000 引用其实就是指针常量,指针 常量就是指向不能变,int * const p就是指针常量 常量指针就是只能指向常量,但是可以改变指向,const int *p就是常量指针 在函数中形参可以用const,防止变量被修改,比如 int func(const int &val)
点赞 回复 分享
发布于 2023-08-21 15:10 河南
函数是可以有默认值的,比如void func(int a=10,b=20,c=30) 如果有传入参数,那么默认的值会被修改
点赞 回复 分享
发布于 2023-08-21 15:32 河南
函数可以有占位参数,比如void func(int a,int ),此时第二个int是占位符 传参时,第二个也得传 函数重载:函数的参数不同,类型不同,或者个数不同,或者顺序不同
点赞 回复 分享
发布于 2023-08-21 15:48 河南

相关推荐

专心打鱼:互联网搬运工,贴子都要偷
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务