既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
- 形式: int atoi( const char *string );
- 参数: string 表示需要被转换的字符串
字符串转成 long 型
- 形式: long atol( const char *string );
- 参数: string 表示需要被转换的字符串
malloc函数
- 形式: void *malloc( size_t size );
- 参数: size 为新开辟时候需要的内存区大小
- 注意:
- malloc 返回值是 void 所以必须有强制转换类型 (typename*)malloc
- LEN 为开辟空间的长度,如果为单个变量可用sizeof(typename) 函数返回一个 typename 类型变量内存空间需要的长度.如果是数组的话其中元素个数为 N 其内存空间需要的长度为 N*sizeof(typename)
int *p=(int)malloc(sizeof(int));//p为新开辟的整形变量的指针
- 由于 point_name 为地址,malloc 动态生成的结构体无名称,不能用 *point_name*.*成员名 来访问成员,但由于 () 优先级高,所以可以用 (*point_name).成员名 来访问
- malloc 不会初始化开辟空间里面的内容,所以用 malloc 开辟空间的元素在没有初始化前使用结果是未知的
- 作用: 为变量开辟存储空间
free函数
- 形式: void free( void *memblock );
- 参数: memblock 用 malloc 或者 realloc 开辟空间的指针
- 注意:
- 用 malloc 生成的变量/结构体/数组用 free 函数来释放内存
- free 释放的都是malloc指针指向的内存,而不会删掉指针本身
- 对空指针应用 free 是安全的
- 不能用 sizeof 操作符来确定动态分配数组包含的字节数
- 作用: 释放由 malloc,realloc 或者 calloc 开辟的变量空间
realloc函数
-
形式:void *realloc( void *memblock, size_t size );
-
参数:
- memblock 为原来有 malloc 开辟空间的指针
- size 为新开辟时候需要的新的内存区大小,要比 malloc 的大才行
-
注意:
- realloc 返回值是 void 所以必须有强制转换类型 (*typename)realloc
- LEN 为开辟空间的长度,如果为单个变量可用 sizeof(typename) 函数返回一个 typename 类型变量内存空间需要的长度.如果是数组的话其中元素个数为N其内存空间需要的长度为 N*sizeof(typename)
#include<iostream> #include <cstdlib> using namespace std; void main() { int *p=(int*)malloc(sizeof(int)); *p = 5; cout<<"用 malloc 开辟变量空间 :"<<endl; cout<<"指针 p 指向的地址"<<p<<endl; cout<<"指针 p 指向的地址里面的变量值"<<*p<<endl; p =(int*) realloc((void*)p,2*sizeof(int)); *(p+1) = 6; cout<<"用 realloc 重新开辟变量空间 :"<<endl; cout<<"指针 p 指向的地址"<<p<<endl; cout<<"指针 p 指向的地址里面的变量值"<<*p<<endl; cout<<"指针 p+1 指向的地址"<<(p+1)<<endl; cout<<"指针 p+1 指向的地址里面的变量值"<<*(p+1)<<endl; system("pause"); }
输出结果:
用 malloc 开辟变量空间 :
指针 p 指向的地址003B5410
指针 p 指向的地址里面的变量值5
用 realloc 重新开辟变量空间 :
指针 p 指向的地址003B5410
指针 p 指向的地址里面的变量值5
指针 p+1 指向的地址003B5414
指针 p+1 指向的地址里面的变量值6
请按任意键继续. . .- 由于 point_name 为地址,realloc 动态生成的结构体无名称,不能用 *point_name.成员名 来访问成员,但由于 () 优先级高,所以可以用 (*point_name).成员名 来访问
- realloc 先按照 size 分配空间在将原有的数据从头到位拷贝到新分配的区域,然后释放原来的 memblock 指向的内存区域
-
作用: 为变量开辟存储空间
calloc函数
- 形式: void *calloc( size_t num, size_t size );
- 参数:
- num 是要开辟此类变量的个数
- size 是要开辟此类型变量一个需要的空间
- 注意: 并返回指向所分配区域的第一个字节的指针若内存不够则返回 NULL. 该空间的内容全部初始化大小为 0
随机生成数函数
- 形式: int rand( void );
- 返回值: 返回值为 0 至 RAND_MAX 之间的随机数值,RAND_MAX 定义在stdlib.h,其值为2147483647。
- 注意:
- 在调用此函数产生随机数前,必须先利用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1
- 但是这个只是产生伪随机数,若无明确给出随机数索引种子,每次得到的随机数都一样,可调用srand来初始化rand的随机数种子来解决这个问题
初始化随机函数的种子
- 形式: void srand( unsigned int seed );
- 参数: seed 为无符号整形,用来初始化随机函数的种子
- 注意: 一般都是通过抓起系统时间来做随机函数的种子
srand( (unsigned)time( NULL ) );//记得包含<time.h>头文件
system函数:
- **形式:**int system( const char *command );
system("ping 10.10.10.11 -t")
system("cls")
- 作用: system()函数用于向操作系统传递控制台命令行
- 常用DOS命令:
- ASSOC 显示或修改文件扩展名关联
- AT 计划在计算机上运行的命令和程序
- ATTRIB 显示或更改文件属性
- BREAK 设置或清除扩展式 CTRL+C 检查
- CACLS 显示或修改文件的访问控制列表(ACLs)
- CALL 从另一个批处理程序调用这一个
- CD 显示当前目录的名称或将其更改
- CHCP 显示或设置活动代码页数
- CHDIR 显示当前目录的名称或将其更改
- CHKDSK 检查磁盘并显示状态报告
- CHKNTFS 显示或修改启动时间磁盘检查
- CLS 清屏幕
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!**
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新