[C语言] 数据结构-预备知识指针】的更多相关文章

所有的伟大源于一个勇敢的开始 数据结构预备知识 指针 1.指针:是C语言的灵魂,指针=地址 地址:内存单元的编号 指针变量:存放内存单元地址的变量 int *p;//p是指针变量,int *表示该p变量只能存储int类型变量的地址,不能存放别的类型的 int i=10; p=&i 详细这两部操作: 1).p存放了i的地址,所以我们说p指向了i 2).p和i是完全不同的两个变量,修改其中任意一个变量,另一个都不会有影响 3).p指向i,*p就是i变量本身,更形象的说,所有出现*p的地方都可以换成i…
跨函数使用内存 一个函数运行结束,使用malloc函数分配的内存,如果不调用free,就不会释放 在另一个函数中还可以继续使用 #include <stdio.h> #include <malloc.h> //跨函数使用内存 //传递结构体指针,占用内存少 struct Student { int age; int score; char *name; }; struct Student * createStudent(struct Student *);//前置申明 void s…
动态内存分配 静态内存分配数组 int a[5]={1,2,3,4,5}  动态内存分配数组 int len=5; int *parr=(int *)malloc(sizeof(int) * len); 1.分配了 4*5 =20个字节的内存空间,返回了第一个字节的地址 2.第一个字节的地址无意义,所以强制转成int类型的地址int * 3.parr此时指向第一个字节的地址,相当于a,当成普通数组使用 *parr=4 <===> a[0]=4 parr[1] <===> a[1]…
结构体 为什么出现结构体 为了表示一些复杂的数据,而普通的基本类型变量无法满足需求  什么叫结构体 结构体是用户根据实际需要自己定义的复合数据类型 如何使用结构体 1.两种方式 一般使用结构体指针的形式来使用 struct Student *pst; pst=&st; pst->name="shihan";//<==> (*pst).name pst所指向的结构体变量中的name这个成员 2.struct Student st; 有为这个结构体分配内存空间,里…
c语言预备知识 1.cpu 内存条 硬盘 显卡 主板显示器 之间的关系 硬盘里的<猛龙过江>(双击)--->内存条   cpu---->显卡,声卡--->显示器 2.hello word程序如何运行起来? 编译 .c--->连接 .exe--->运行 3.什么是数据类型? 4.什么是变量? 变量的本质是内存中一段存储空间 变量名和这段存储空间的地址发生关联 5.cpu 内存条 vc++6.0 操作系统 之间的关系 由vc++6.0发生请求--->操作系统--…
Go语言指针 Go语言中指针是很容易学习的,Go语言中使用指针可以更简单的执行一些任务.我们都知道变量是一种使用方便的占位符,用于引用计算机内存地址.Go语言的取地址符是 &,放到一个变量前使用就会返回相应变量的内存地址,以下实例演示了变量在内存中地址: package main imoprt "fmt" func main() { var a int = 10 fmt.Printf("变量的地址:%x\n", &a) } 以上实例执行的结果为: 变…
有关指针的经典面试题 C语言为何如此长寿并实用?C++为什么有那么多精彩?指针可以说是C/C++中的灵魂所在,虽然早期中pascal也有指针,但是和C/C++比起来不是一个级别的.今天为大家深入浅出的解析一下指针的有关笔试,面试题.所有题目来源网络,分析是我写的... 0.预备知识,最基础的指针 其实最基础的指针也就应该如下面代码: int a; int* p=&a; 也就是说,声明了一个int变量a,然后声明一个int 的指针,*p指向a的地址,&也就是取地址符号,而*是指针中取内容的符…
一.预处理 1.什么是预编译?何时需要预编译? (1)预编译又称预处理,是做些代码文本的替换工作,即程序执行前的一些预处理工作.主要处理#开头的指令,如拷贝#include包含的文件代码.替换#define定义的宏.条件编译#if等. (2)何时需要预编译: a.总是使用不经常改动的大型代码体: b.程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项.在这种情况下,可以将所有包含文件预编译为一个预编译头. 2.写一个“标准”宏,这个宏输入两个参数并返回较小的一个 #define…
数据库 预备知识 我的电脑系统: Windows 10 64位 使用的SQL Server软件: SQL Server 2014 Express 如果我们要学习这个数据库,我们需要学习什么知识. 预备知识 先解决几个疑问: 1 . 学习数据库必须得学习数据库原理吗 按道理说是这个样子的.数据库原理里面讲的都是一些很理论的知识,而我们现在学的数据库就对它的一个实现.我们学习SQL Server软件是都数据库原理的一个实现.当然你不会数据库原理,问题也不大,因为我们后面会介绍一些需要数据库原理的知识…
C++ day01: 1.预备知识? 1)什么是编程 编程,即编订程序. 程序 = 数据 + 算法(蛋糕 = 糖.鸡蛋.奶油 + 打鸡蛋.加糖.烤) 2)编程语言 最初的编程是用二进制代码(即“机器码”.“机器指令”)编写程序,不必多说,这种编程方式不可能得到普及. 于是人们发明了“汇编语言”来编写程序.这种语言通过“助记符”代替机器码,但是这种语言直接操作CPU,繁琐,也无法普及.但在今天,汇编还是绝大多数计算机生的必修课.在实际的劳动中,汇编的运用主要在和机器联系紧密的程序上,比如硬件(显卡…