每日学习笔记记录(分享更新版-凌乱)

函数和变量都需要满足:先声明后使用(重要)

在 函数的声明中,形参的名字可以省略

函数的定义是一种特殊的是声明,比声明更加强大;函数使用前必须进行声明,但不必要声明具体定义

.h------函数的声明

.c------函数的定义,说明使用

自己创建的头文件用""

标准库里面的头文件使用<>

隐藏关键代码------静态库

extern用来声明来自外部的符号

全局变量的作用域是整个工程

变量创建到销毁是他的一个生命周期

static只改变变量的生命周期(存储方式),不改变作用域

static修饰全局变量时,改变了全局变量的链接属性,使得外部链接属性变成了内部链接属性,这种变量只能在自己存在的.c文件中使用,其他文件不能使用

函数也具有外部链接属性,只要在其他文件中有正确声明,就可以直接使用

包含自己的头文件应该使用双引号

F5是让程序执行到(运行逻辑上的如循环)下一个断点处

调试就是指对单个语句进行研究和分析,开始执行不调试就是最好的例子Ctrl +F5

调试时候,箭头指向的是下一步即将执行的语句(按F10或者F11)

开始调试后才能看到监视窗口

四个二进制位可以表示一个16进制位

三个二进制位代表一个八进制位

每一个字节都有一个地址

栈区中内存的使用习惯:(不同的实现环境里存在区别,以下为X86环境)

优先使用高地址的空间再使用低地址的空间,数组随着下标的增长,使用的内存空间地址由低到高变化

不同的环境,bug或者release不同版本使用,都会影响最后程序执行的结果

release版本是存在优化的

数组在函数传参时不需要再继续定义类型

每次函数调用的时候在栈区里都会有属于他们的一个专属空间(运行式堆栈),使用结束后会销毁

循环是一种迭代,迭代不仅仅是一种循环

斐波那契数列------指数爆炸增长

青蛙跳台阶问题

反码,除符号位外其他位都取反,

补吗,反码+1

非负整数原码、反码、补码相同

char 是否为signed char取决于编译器,在VS上是signed

char类型的取值范围:-128~127

x86_------32位环境

x64 ------64位环境

数组的元素是连续存放的

指针变量的访问和加减的空间都取决于 他的类型

指针-指针必须类型一致,连续同一的空间内

数组名其实是数组首元素的地址

有两个例外:

1.sizeof(数组名)

这里的数组名表示的是整个数组,计算的是整个数组

2.&数组名

这里的数组名也表示整个数组,取出的是整个数组的地址

除此之外,所有的数组名都是数组首元素的地址

arr[i]也可以写成i[arr],但是可读性不高

数组传参,形参部分写成数组

数组传参的本质,是传递数组首元素的地址,所以形参即使写成数组的形式,本质上也是一个指针变量

数组传参部分可以写成数组也可以写成指针

指针类型决定了指针的差异

size_t是一种无符号整型

在 C 语言里,'\0' 代表的是 ASCII 码值为 0 的空字符(Null Character)。它的数值等同于整数 0。在字符串里,'\0' 一般被用作字符串的结束符,以此表明字符串到此结束。

一个局部变量未初始化的话,他的值是随机的

空指针不能直接访问

使用指针前检查是否为空指针,保证程序没有问题if(p !=NULL)

避免返回局部变量的地址

使用%s打印字符串的时候 ,只需要提供首字符地址就行

常量字符串不能被修改,数组能被修改

内容相同的常量字符串只需要保存一份

排序算法:

冒泡排序

插入排序

选择排序

快速排序

qsort底层使用的快速排序的思想

两个字符串比较大小不能使用><>=<=

应该使用strcmp,比较的是对应位置上字符的ASCII值大小,不是字符串的长度

比较两个结构体

声明函数时,可以省略参数变量名字

void* 泛型编程

sizeof是操作符不是函数

strlen是库函数,求字符串的长度,只能针对字符串(字符数组),遇到\0停

strlen的参数需要是地址 size_t strlen(const char* str)

相关推荐
四谎真好看12 天前
SSM学习笔记(SpringBoot篇)
spring boot·笔记·学习·学习笔记·ssm
~黄夫人~13 天前
Linux 权限管理:用户组 + 特殊权限 + ACL 解析
linux·运维·计算机·学习笔记·权限管理
四谎真好看15 天前
SSM学习笔记(SpringMVC篇 Day02)
笔记·学习·学习笔记·ssm
四谎真好看17 天前
SSM学习笔记(SpringMVC篇 Day01)
笔记·学习·学习笔记·ssm
heartbeat..21 天前
Java 微服务初学者入门指南(CSDN 博客版)
java·运维·微服务·学习笔记·入门
四谎真好看21 天前
SSM学习笔记(Spring篇Day03)
笔记·学习·学习笔记·ssm
四谎真好看22 天前
SSM学习笔记(Spring篇 Day02)
笔记·学习·学习笔记·ssm
四谎真好看24 天前
SSM学习笔记(Spring篇 Day01)
笔记·学习·学习笔记·ssm
四谎真好看25 天前
JavaWeb学习笔记(Day14)
笔记·学习·学习笔记·javaweb
四谎真好看1 个月前
JavaWeb学习笔记(Day13)
笔记·学习·学习笔记·javaweb