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

一、快速入门

%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. 一文搞懂 MCP Servers

    一文搞懂 MCP Servers 什么是MCP MCP概念 MCP(Model Context Protocol,模型上下文协议)是由 Anthropic 提出并于 2024 年 11 月开源的一种通 ...

  2. 第二课 - 输入(按键)控制输出(LED)-设备树

    在第一课中学习了如何安装NCS开发环境,以及如何新建一个工程,还有如何构建和下载到开发板.并运行了官方的LED闪烁例程. 设备树 我们继续跟着官方开发者学院的教程来学习第二课的课程.官方课程包含了以下 ...

  3. .NET MCP项目对比分析:MCPSharp、mcpdotnet与ModelContextProtocol.NET

    MCP(Model Context Protocol)协议是一种由Anthropic推出的开放协议,旨在实现大型语言模型(LLM)与外部数据源和工具之间的无缝集成.简要对比分析三个.NET的MCP项目 ...

  4. 有限元方法[Matlab]-笔记

    <-- 访问笔记代码仓库 --> << MATLAB Codes for Finite Element Analysis - Solids and Structures (Fe ...

  5. python实现排列组合--itertools

    这是一个python自带的工具集,简单好用功能强大,能够大大提升编写代码效率. 功能不止排列组合,其他的用用加深理解了再整理. 官方文档:https://docs.python.org/zh-cn/3 ...

  6. Zotero 附件云同步(非 WebDAV 方法)

    1.说明 适用范围更广,但是操作步骤较复杂. 使用 zotero 仅同步题录信息,使用其他云同步程序同步文献的附件,此处以坚果云为例进行演示. 准备: zotero 和 坚果云 注册账号 zotero ...

  7. Docker 初始镜像 scratch

    初识 scratch 有那么一天,我们在这里邂逅了镜像scratch... 先来搜索下这个镜像 docker search scratch NAME DESCRIPTION STARS OFFICIA ...

  8. 基于STM32F4+FREERTOS进行结构体变量的传递

    原始参考链接如下↓ Freertos 接收消息队列数据不对,是姿势不正确吗 - STM32H7 - 硬汉嵌入式论坛 - Powered by Discuz! https://www.armbbs.cn ...

  9. springboot整合log4j

    一.默认名log4j2-spring.xml,就省下了在application.yml中配置 <console name="Console" target="SYS ...

  10. kettle介绍-Step之CSV Input

    CSV Input/CSV 文件输入介绍 CSV 文件输入步骤主要用于将 CSV 格式的文本文件按照一定的格式输入至 流中 Step name:步骤的名称,在单一转换中,名称必须唯一 Filename ...