【c语言】深入理解指针(2)指针与数组的联系-爱代码爱编程
目录 前言 (一)改变固有数组的平面思维 注意: (二)数组操作与指针等价 (三)指针数组与数组指针 (1)指针数组 (2)数组指针 (四)小练笔 解析: 前言 《C Traps and Pitfalls》(C语言缺陷与陷阱)中有一句著名的见解: “在C语言中,指针与数组这两个
代码编织梦想
目录 前言 (一)改变固有数组的平面思维 注意: (二)数组操作与指针等价 (三)指针数组与数组指针 (1)指针数组 (2)数组指针 (四)小练笔 解析: 前言 《C Traps and Pitfalls》(C语言缺陷与陷阱)中有一句著名的见解: “在C语言中,指针与数组这两个
目录 (一)数组名的理解 (1)数组名是数组首元素的地址 (2)两个例外 (二)函数内数组传参 (1)一维数组传参 (2)二维数组传参 (3)三维及高维数组传参 正文开始——数组与指针是紧密联系的 (一)数组名的理解 (1)数组名是数组首元素的地址 int arr[10] = {1,2,3,
指针基本概念: 指针就是个变量,用来存放地址,地址唯一标识一块内存空间。指针的大小是固定的4/8个字节(32位平台/64位平台)。指针是有类型,指针的类型决定了指针的±整数的步长,指针解引用操作的时候的权限。 在基本内容之
目录 引入结构体 结构的声明 创建和初始化 内部元素的使用; 特殊声明: 结构体在内存中的对齐 练习: 引入结构体 C语言有各种数据类型,我们已经对一些数据类型很熟悉: 整型(int)- 存储整数值,包括有符号和无符号两种类型。 浮点型(float、double、long double)-
本节讲解C中的文件操作。 1.为什么使用文件 我们在运行程序后,运行结果通常不会保留,当下次再运行时,内存中的数据则已被销毁。而使用文件,我们就可以将数据直接存放在电脑的硬盘上,做到了数据的持久化。 2.文件 2.1程序文件 包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj)
前言: 由于c语言的程序编译链接的这块知识点不清楚,回来复习一遍,以便于好理解c++知识,我会尽快更新下一篇文章。 目录 1.程序的翻译环境和执行环境 2.翻译环境(编译+链接) 编译(编译器) 预编译(预处理) 1.头文件的包含 2.注释的测试 编译过程 汇编过程 链接 1.合并段表 2.符号表的合并和
目录 字符串简介 头文件 统一说明: strlen 作用: 函数原型: 函数参数: 返回值类型: 模拟实现: strcpy 作用: 函数原型: 函数参数: 返回值类型: 模拟实现: strcat 作用: 函数原型: 函数参数: 返回值类型: 模拟实现: strcmp 作用: 函
目录 一.操作符的分类: 1.算术操作符 2.移位操作符 3.位操作符 4.赋值操作符 5.单目操作符 6.关系操作符 7.逻辑操作符 8.条件操作符 9.逗号表达式 10.下标引用、函数调用和结构成员 二.表达式求值 1.隐式类型转换 2.算术转换 3.操作符的属性 4.一些问题表达式
目录 前言: 1.计算日期到天数转换 2.尼科彻斯定理 3.密码检查 4.图片整理 5.寻找数组的中心下标 6.字符个数统计 7.多数元素 前言: 编程想要学的好,刷题少不了,我们不仅要多刷题,还要刷好题!为此我开启了一个弯道超车必做好题锦集的系列,此为第一篇编程题篇,每篇大约5题左右。该系列会不定期更新,敬请期待!
目录 1.知识准备 2.指针和数组笔试题解析 整型数组的sizeof int a[]={1,2,3,4}的sizeof的使用 字符数组的sizeof和strlen char arr[]={'a','b','c','d','e','f'}的sizeof的使用 char arr[]={'a','b','c','d','e','f'}的strlen
目录 1. 为什么存在动态内存分配❓ 2. 动态内存函数的介绍 2.1 malloc和free✅ ①申请:1️⃣ ②使用:2️⃣ ③释放:3️⃣ 2.2 calloc 🧨与malloc的区别: 2.3 realloc 3.常见的动态内存错误 3.1 对NULL指针的解引用操作 🎇3.2 对动态开辟空间的越界访问 3.3对非动态开
目录 1. 为什么使用文件 2. 什么是文件 2.1 程序文件 2.2 数据文件 2.3 文件名 3. 文件的打开和关闭💢 3.1 文件指针1️⃣ 3.2 文件的打开和关闭2️⃣ ⭕相对路径 ⭕绝对路径 4. 文件的顺序读写 1.fputc写文件--字符输出函数 2.fgetc(pf)读文件--字符输入函数 3.fput
谈及指针数组,我们知道,指针数组是一个存放指针的数组。 例如: char* arr[5];//arr是存放字符指针的数组 int* arr2[4];//arr2是存放整形指针的数组 那么这些东西都有什么用呢?
指针数组和数组指针区别 首先 数组指针是指针?还是数组? 答案是:指针。 我们已经熟悉: 整形指针: int * pint; 能够指向整形数据的指针。 浮点型指针: float * pf; 能够指向浮点型数据的指针。 那数
#include<iostream> using namespace std; int main() { const char* c[] = { "ENTER","NEW","POINT","FIRST" };//这种指针嵌套题 画图很重要 const char** cp[] = { c + 3,c + 2,c + 1,c
加油加油加油!!! 文章目录 前言1. 为什么存在动态内存分配2. 动态内存函数的介绍2.1 malloc和free2.1.1 `malloc`2.1.2 `free` 2.2 calloc
文章目录 数组名的意义练习 本章主要讲解13道关于指针的经典练习。 数组名的意义 首先回顾一下关于数组名的相关知识: 1.sizeof(数组名):这里数组名表示整个数组; 2.&数组名
字符指针 看下面的程序 void t() { char* a = "hello"; *a = 'x'; printf("%c", a); } 程序想把a的指向的值 ‘h’改成‘a' ,但结果引发异常,这是因为右边是常量,常量存放在在内存的常量区,是只读的。a指向这个常量的首位想改变*a,但常量是无法改变的,因此报错。 这里可
目录 1、文件介绍 2、文件的打开和关闭 2.1 文件指针 2.2 文件的打开和关闭 3. 文件的顺序读写 4. 文件的随机读写 4.1 fseek 4.2 ftell 4.3 rewind 5. 文本文件和二进制文件 6. 文件读取结束的判定 6.1 feof 7. 文件缓冲区
自定义类型详解:结构体、枚举、联合 结构体1 结构体的声明1.1 结构的基本知识1.2 结构的声明1.3 特殊的声明1.4 结构的自引用1.5 结构体变量的定义和初始化1.6 结构体内存对齐1.7 修改默认对齐