哼,要记得好好学习去泡帅哥吖

一、快速入门

%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语言笔记(翁凯男神的更多相关文章

  1. 初始C语言中的指针(翁凯男神MOOC)

      运算符  & ● scanf("%d",&i); ●获得变量的地址,它的操作数必须是变量 ● int i; printf("%x",& ...

  2. 判断素数(翁凯男神MOOC)

    从2到x-1测试是否可以整除 int isPrime(int x); int main(int argc, char **argv) { int x; scanf("%d",&am ...

  3. 初始C语言中的数组(男神翁凯老师MOOC)

    定义数组 ●<类型>变量名称[元素数量]; ● int grades[100]; ●double weight[20]; ●元素数量必须是整数 ●C99之前:元素数量必须是编译时刻确定的字 ...

  4. 初识C语言中的函数(男神翁凯老师MOOC)

    什么是函数? 函数是一块代码,接收零个或多个参数,做一件事情,并返回零个或一个值. 可以先想象成数学中的函数: y=f(x) 例如 求begin到end和的函数定义 void sum(int begi ...

  5. python学习 -女神或者男神把微信消息撤回后好慌,有了这个妈妈再也不担心你看不到女神或者男神撤回的消息了(超详解)

    简介 有时候在忙工作,女朋友发了一个消息,就撤回了,但是人天生的都有一颗好奇心,而且在当今这个时代找个女朋友不容易,一个程序猿找一个女朋友更是不容易的.人家好不容易跟你,你还不得把人家当老佛爷侍候着, ...

  6. 014-预处理指令-C语言笔记

    014-预处理指令-C语言笔记 学习目标 1.[掌握]枚举 2.[掌握]typedef关键字 3.[理解]预处理指令 4.[掌握]#define宏定义 5.[掌握]条件编译 6.[掌握]static与 ...

  7. cdoj 1131 男神的礼物 区间dp

    男神的礼物 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/1131 Descr ...

  8. R语言笔记

    R语言笔记 学习R语言对我来说有好几个地方需要注意的,我觉得这样的经验也适用于学习其他的新的语言. 语言的目标 我理解语言的目标就是这个语言是用来做什么的,为什么样的任务服务的,也就是设计这个语言的动 ...

  9. 寻找INTERIGHT衬衫男神! [复制链接]

    寻找INTERIGHT衬衫男神! - 公告板 - 京东内部论坛 - Powered by Discuz! 寻找INTERIGHT衬衫男神!   [复制链接]

  10. UESTC_男神的约会 2015 UESTC Training for Dynamic Programming<Problem J>

    J - 男神的约会 Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submit ...

随机推荐

  1. 飞牛 fnos 使用docker部署NapCat-QQ对接autman教程

    NapCatQQ介绍 无需图形环境,在Linux上表现出色,与现有Hook框架有本质区别,性能与内存占用优于基于Hook的框架. 配置简单,支持浏览器远程配置. NTQQ功能适配快速,持续跟进QQ最新 ...

  2. TensorFlow 的基本概念和使用场景

    TensorFlow是一个开源的机器学习框架,由Google开发并维护.它提供了一个灵活的编程环境,用于构建和训练各种机器学习模型.TensorFlow是基于图计算的模型,其中节点表示数学操作,而边表 ...

  3. JavaUtils - [04] 代码生成器(新)

    题记部分 001 || 引入依赖 <!-- Code Generator --> <dependency> <groupId>com.baomidou</gr ...

  4. CentOS7安装部署ClickHouse(单机版&&集群部署)

    1.1 什么是ClickHouse ClickHouse 是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报 ...

  5. .NET 10 首个预览版发布,跨平台开发与性能全面提升

    前言 2024年2月25日,微软正式推出 .NET 10 预览版 1,标志着这一跨平台开发框架迈入新里程碑. 本次更新聚焦 JIT 编译器优化.运行时性能提升和跨平台开发体验增强,同时引入多项开发者期 ...

  6. Keepalived学习,双机主备高可用

    一.主机安装 1.解压 tar -zxvf keepalived-2.0.18.tar.gz 2.解压后进入到解压出来的目录,看到会有configure,那么就可以做配置了 3.使用configure ...

  7. AI与.NET系列文章之三:在.NET中使用大语言模型(LLMs)

    引言 在技术迅猛发展的今天,大语言模型(Large Language Models, LLMs)已成为人工智能领域的核心驱动力之一.从智能对话系统到自动化内容生成,LLMs的应用正在深刻改变我们的工作 ...

  8. 基于 .NET Blazor 开源、低代码、易扩展的插件开发框架

    前言 今天大姚给大家分享一个基于 .NET Blazor 开源的轻量级.跨平台.低代码.易扩展的插件开发框架:Known. 项目介绍 Known 是一个基于 Blazor 的轻量级.跨平台.低代码.易 ...

  9. helm Error: INSTALLATION FAILED: cannot re-use a name that is still in use

    前言 使用helm安装服务报错,修改chat后重新安装报错:安装失败:无法重复使用仍在使用的名称 解决方法 1.查找安装失败的服务 helm -n {namespace} ls -a 2.删除安装失败 ...

  10. Ubuntu安装配置redis

    更新安装相关依赖库 下面步骤一步一步来 sudo apt update sudo apt install build-essential sudo apt-get install manpages-d ...