c语言笔记(翁凯男神
哼,要记得好好学习去泡帅哥吖
一、快速入门
%p
输出地址
#include <stdio.h>
void f(int *p);
int main(){
int i = 1;
printf("%p", &i);
f(&i);
return 0;
}
void f(int *p){
printf("\n%p", p);
}
%lu
long unsigned数据类型无符号长整数或无符号长浮点数
二、指针
运算符& vs *
& 取得变量的地址
*记录地址的变量
const & 指针
指针的运算
加减,比较
0地址
想要用到0地址时,可用null符号
何时用指针(指针功能
#include <stdio.h>
#include <stdlib.h>
int main(){//动态申请内存eg
int *a, n;
scanf("%d", &n);
a = (int*) malloc (n * sizeof(int));
for(int i = 0; i < n; i++){
a[i] = i + 1;
printf("%d ", a[i]);
}
free(a);//有借有还,计算机届道德典范
return 0;
}
free()
三、字符串
what :以0结尾的一串字符
字符串常量
指针 vs 数组
字符串的输入和输出
for 安全输出by指定长度
空字符串的正确定义
四、枚举
五、结构体
六、类型定义
七、联合union
八、本地变量 vs 全局变量
about全局变量
what
全局变量初始化
静态本地变量(挂着本地变量之名的全局变量
#include <stdio.h>
int a = 0;
int main(){
int a1 = 1;
static int a2 = 2;
// {
// int a = 2;
// printf("%s %d\n", __func__, a);
// }
// printf("%s %d\n", __func__, a);
printf("%p\n", &a);
printf("%p\n%p\n", &a1, &a2); //a和a2地址相近
return 0;
}
返回指针的函数
使用时注意
九、宏定义
有值的宏定义
无值的宏定义=》用来做条件编译
预定义的“维密天使”//带翅膀
带参数的宏定义
因为只是简单的文本替换,注意带括号
不要画蛇添足加分号,人家宏不是c
反例:
十、大程序
头文件中<> vs “”
易混区and解决
不对外公开的函数
声明和定义
十一、格式化输入和输出
scanf和printf的返回值
fopen
十二、二进制文件
二进制文件 vs 文本文件
十三、移位
c语言笔记(翁凯男神的更多相关文章
- 初始C语言中的指针(翁凯男神MOOC)
运算符 & ● scanf("%d",&i); ●获得变量的地址,它的操作数必须是变量 ● int i; printf("%x",& ...
- 判断素数(翁凯男神MOOC)
从2到x-1测试是否可以整除 int isPrime(int x); int main(int argc, char **argv) { int x; scanf("%d",&am ...
- 初始C语言中的数组(男神翁凯老师MOOC)
定义数组 ●<类型>变量名称[元素数量]; ● int grades[100]; ●double weight[20]; ●元素数量必须是整数 ●C99之前:元素数量必须是编译时刻确定的字 ...
- 初识C语言中的函数(男神翁凯老师MOOC)
什么是函数? 函数是一块代码,接收零个或多个参数,做一件事情,并返回零个或一个值. 可以先想象成数学中的函数: y=f(x) 例如 求begin到end和的函数定义 void sum(int begi ...
- python学习 -女神或者男神把微信消息撤回后好慌,有了这个妈妈再也不担心你看不到女神或者男神撤回的消息了(超详解)
简介 有时候在忙工作,女朋友发了一个消息,就撤回了,但是人天生的都有一颗好奇心,而且在当今这个时代找个女朋友不容易,一个程序猿找一个女朋友更是不容易的.人家好不容易跟你,你还不得把人家当老佛爷侍候着, ...
- 014-预处理指令-C语言笔记
014-预处理指令-C语言笔记 学习目标 1.[掌握]枚举 2.[掌握]typedef关键字 3.[理解]预处理指令 4.[掌握]#define宏定义 5.[掌握]条件编译 6.[掌握]static与 ...
- cdoj 1131 男神的礼物 区间dp
男神的礼物 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/1131 Descr ...
- R语言笔记
R语言笔记 学习R语言对我来说有好几个地方需要注意的,我觉得这样的经验也适用于学习其他的新的语言. 语言的目标 我理解语言的目标就是这个语言是用来做什么的,为什么样的任务服务的,也就是设计这个语言的动 ...
- 寻找INTERIGHT衬衫男神! [复制链接]
寻找INTERIGHT衬衫男神! - 公告板 - 京东内部论坛 - Powered by Discuz! 寻找INTERIGHT衬衫男神! [复制链接]
- UESTC_男神的约会 2015 UESTC Training for Dynamic Programming<Problem J>
J - 男神的约会 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit ...
随机推荐
- 飞牛 fnos 使用docker部署NapCat-QQ对接autman教程
NapCatQQ介绍 无需图形环境,在Linux上表现出色,与现有Hook框架有本质区别,性能与内存占用优于基于Hook的框架. 配置简单,支持浏览器远程配置. NTQQ功能适配快速,持续跟进QQ最新 ...
- TensorFlow 的基本概念和使用场景
TensorFlow是一个开源的机器学习框架,由Google开发并维护.它提供了一个灵活的编程环境,用于构建和训练各种机器学习模型.TensorFlow是基于图计算的模型,其中节点表示数学操作,而边表 ...
- JavaUtils - [04] 代码生成器(新)
题记部分 001 || 引入依赖 <!-- Code Generator --> <dependency> <groupId>com.baomidou</gr ...
- CentOS7安装部署ClickHouse(单机版&&集群部署)
1.1 什么是ClickHouse ClickHouse 是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报 ...
- .NET 10 首个预览版发布,跨平台开发与性能全面提升
前言 2024年2月25日,微软正式推出 .NET 10 预览版 1,标志着这一跨平台开发框架迈入新里程碑. 本次更新聚焦 JIT 编译器优化.运行时性能提升和跨平台开发体验增强,同时引入多项开发者期 ...
- Keepalived学习,双机主备高可用
一.主机安装 1.解压 tar -zxvf keepalived-2.0.18.tar.gz 2.解压后进入到解压出来的目录,看到会有configure,那么就可以做配置了 3.使用configure ...
- AI与.NET系列文章之三:在.NET中使用大语言模型(LLMs)
引言 在技术迅猛发展的今天,大语言模型(Large Language Models, LLMs)已成为人工智能领域的核心驱动力之一.从智能对话系统到自动化内容生成,LLMs的应用正在深刻改变我们的工作 ...
- 基于 .NET Blazor 开源、低代码、易扩展的插件开发框架
前言 今天大姚给大家分享一个基于 .NET Blazor 开源的轻量级.跨平台.低代码.易扩展的插件开发框架:Known. 项目介绍 Known 是一个基于 Blazor 的轻量级.跨平台.低代码.易 ...
- helm Error: INSTALLATION FAILED: cannot re-use a name that is still in use
前言 使用helm安装服务报错,修改chat后重新安装报错:安装失败:无法重复使用仍在使用的名称 解决方法 1.查找安装失败的服务 helm -n {namespace} ls -a 2.删除安装失败 ...
- Ubuntu安装配置redis
更新安装相关依赖库 下面步骤一步一步来 sudo apt update sudo apt install build-essential sudo apt-get install manpages-d ...