- 博客(13)
- 收藏
- 关注
原创 动态分配空间
动态分配空间malloc 函数#include<stdlib.h>void *malloc(unsigned int num_size);形参:num_size需要申请空间大小的字节数返回值:成功:返回空间的起始地址失败:NULL特点:1、对于malloc的返回值 一般需要强制类型转换2、malloc申请的空间内容不确定,一般使用memset进行清空3、多次调用malloc 第1次malloc 和第2次malloc的地址不一定连续free函数#include<
2021-01-18 18:10:35
482
原创 指针
指针所谓指针,也就是内存的地址;所谓指针变量,也就是保存了内存地址的变量。需要注意的是,虽然变量名、函数名、字符串名和数组名在本质上是一样的,它们都是地址的助记符,但在编写代码的过程中,我们认为变量名表示的是数据本身,而函数名、字符串名和数组名表示的是代码块或数据块的首地址。1 相关概念内存地址概述:系统给内存的每一个字节分配一个编号,这个编号就是内存地址。指针变量:本质就是一个变量 ,只是这个变量存放的是内存的地址编号(地址/指针)。在32位平台任何类型的地址编号都是4字节。2 定义指
2021-01-18 17:53:19
204
原创 C语言中的变量与内存四区
C语言中的变量与内存四区1. 内存四区C语言编程必须要对系统的内存情况了解清楚才高效的编程,下图是可执行文件在内存中的分布2. 变量定义形式作用范围生命周期存储区域普通局部变量在{}里面定义的普通变量离它最近的{}之间有效离开{}的局部变量系统会自动回收栈区普通全局变量定义在函数外边的变量当前源文件都有效 ,其它源文件使用全局变量时必须加extern声明整个进程都有效(程序结束时,全局变量才被释放)全局区静态局部变量在{}中定义,前面必须加s
2021-01-10 17:54:49
261
原创 const用法
1. const基本知识点1.1 const声明的变量只能被读const int i=5;int j=0;i=j; //非法,导致编译错误j=i; //合法 1.2 必须初始化const int i=5; //合法 const int i=5 与int const i=5等价const int j; //非法,导致编译错误1.3 如何在另一.c源文件中引用const常量extern const int i; //合法extern co
2021-01-10 11:23:58
232
原创 GPU硬件模式
layout: posttitle: GPU硬件模式subtitle: GPU,SM,kernel,thread block,threaddate: 2020-12-30author: BQFheader-img: img/post-bg-re-vs-ng2.jpgcatalog: truetags:- BlogGPU,SM(流处理器),kernel(核),thread block(线程块),线程内存模型CUDA编程模型的原则1.所有在.
2021-01-09 17:38:18
676
原创 Linux 进程、作业操作
Linux 进程、作业操作ctrl+z 将当前程序(任务)中断(但此时任务并未结束,而是挂起状态)根据jobs jobs 查看已经挂起的任务 | kill %num 杀死后台已经挂起的任务(根据jobs查看的num)根据 fg fg 将后台挂起的任务调至前台继续运行(最后一个) | fg %num 可以指定jobs查看中特定编号num的任务 bg 将后台挂起的进程在后台继续运行(最后一个) | bg %num 可以指定jobs查看中特定编号num的任务ps ps
2021-01-08 17:14:20
89
原创 个人PC轻松使用教程
系统维护鉴于计算机操作系统的维护问题,网上有很多的教程,本文将列举我本人经常使用的,且效果比较nice的一些dalao所提供的优质资源。装机教程FirPE ProjectGKDload软件资源村长科技
2021-01-08 17:13:47
945
原创 预处理与宏定义
预处理与宏定义C语言编译过程1、预处理: 头文件包含、宏替换、条件编译、删除注释 (不做语法检查)gcc -E hello.c -o hello.i 2、编译: 将预处理后的文件生成汇编文件 (语法检查)gcc -S hello.i -o hello.s 3、汇编: 将汇编文件编译成二进制文件gcc -c hello.s -o hello.o4、链接:gcc hello.o -o hello一步到位: gcc xxx.c -o xxxgcc可以同时编译
2021-01-08 13:48:30
277
原创 vim最为使用的操作
Linux vim最为使用的操作三种模式1 普通模式下快熟光标移动 $ 把光标移至当前行的行尾 0 把光标移至当前行的起始位置 G 把光标移至到最后一行复制删除粘贴 x 删除 dd 剪切 ndd 剪切多行 yy 复制 nyy 复制多行 p 粘贴(把剪切板中的文本数据粘贴在光标所在行的下面) 撤销命令 u2 编辑模式下进入编辑模式 a 可以在光标当前位置下一个位置输入
2021-01-08 10:44:18
88
原创 Linux服务器免秘钥登录
Linux服务器免秘钥登录1.生成自己服务器上的公钥/私钥 公钥:需要发送给其他服务器的,也就是当其他服务器远程连接本服务器的时候直接验证公钥即可,不再需要密码 私钥:私密的,只能自己拥有,一旦公钥失效了,可以和私钥进行匹配 ssh-keygen -t rsa 一共会有四个回车 在这期间坚决不能输入任何一次密码!!!!!!! 如果一旦输入了密码,则其他服务器需要ssh远程访问的时候就必须要密码匹配2.查看生成的公钥和私钥 cd ~/.ssh id_rsa:私钥 id_rsa.pub:
2021-01-08 10:27:17
288
原创 新装Linux配置五部曲
新装Linux配置五部曲(centos)1 配置HOSTNAME vim /etc/sysconfig/network2 配置IP和HOSTNAME的映射//!!!!!!配置的HOSTNAME一定要和第一步中的一模一样!!!!! vim /etc/hosts3 关闭防火墙/开启防火墙端口 service iptables stop 如果检测防火墙是否关闭 service iptables status4 关闭防火墙的开机启动 chkconfig iptables
2021-01-08 10:24:12
216
原创 main函数参数的秘密
main函数参数的秘密大家应该都有一个模糊的记忆,C语言中main函数是程序的入口函数,所以程序运行时main函数调用别的函数,并且给别的函数传入参数。但是没人告诉我们是谁“调用”的main函数。其实我们可以理解为是操作系统调用的main函数,所以main函数的参数应该是操作系统给的,也就是说我们的在命令行界面运行程序是,需要给main函数参数.1. argc / argvargc是主程序参数的个数,也就是传入参数的个数,这个值一开始不确定,是看自己输入了多少参数而确定argv 数组存放的是传入的参
2021-01-07 17:44:26
101
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人