当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 学习笔记 > c语言数组和指针详解,学霸随堂笔记

c语言数组和指针详解,学霸随堂笔记 时间:2018-08-31      来源:未知

C语言数组和指针很多人都不能学的很懂,在这里看看学霸总结的笔记,可以帮助你学习。
1. 指针是什么

1》 内存地址编号:

0x00 00 00 00 ----0xff ff ff ff

2》 存储内存地址编号

C提供了指针这个基本数据类型来存储地址编号,占4字节

3》 数据结构的意义

操作内存的字节

2. 指针和指针变量的意义

希望通过指针变量去控制内存空间

3. 怎么用

定义:

内存分区:

静态常量区:静态变量和常量

代码区:存储指令

栈:临时变量,

堆:程序员自己使用

存储类型:


数据类型修饰符

指针初始化

空指针和野指针

Const

%p ----打印地址

给指针赋值地址常量;注意类型;强制转化;

Char *p =(char *)0x1245678;

内存的分配

字节对齐;字节整数倍分配

数据的存储大小端

小端存储:低地址存低位,高存高

大端存储:低地址存高位,高存底

常见的指针类型

数组传参

要注意传参数 数组长度

指针的理解

目的:操作连续的内存空间,即数组;

指针数组的理解

目的:操作二维数组

数组指针 int (*p)[10] //行指针

主要操作数组

Int a[10]; P=&a; //没有意义

Int b[5][10] P=b;

多级指针

指向指针变量的指针

目的、作用:操作指针数组

数组名的理解

类型升级的地址常量;

数组名传参理解:传地址,如上原因;

数组不能动态分配内存

静态分配;

指针数组的动态malloc

指针的指针

数组名的意义:

代表整个数组:地址常量:首地址:

数组名的类型:&第一个元素

数组是一个构造的数据类型

数组的内存存储

行存储

Main函数传参

指针数组名的传参;

Char * p [3];

P[1] 字符串的首地址

P[1][3] p[1]指向字符串的第3个元素

Malloc函数

在堆上分配一个size大小的内存空间

成功返回内存空间的首地址;失败NULL

用完之后必须用free(void*)释放内存空间;

注意保护malloc的返回地址;free释放;必须是malloc释放;

指针p的类型

1 决定了*p一次操作的字节数

2 决定了p+1指针移动的字节数

访问越界问题;

Printf函数的参数从右向左传、

指针作为函数参数的目的

目的:

1. 节省函数参数的分配内存空间

2. 为了方便更改指针指向的内容

指针作为函数返回值的目的:

目的:

1. 函数体外需要处理地址

Void * p

Free(p); p编程野指针,静止对野指针进行取值操作。

A和&a的区别

指针的经典:

1. 改变指针的指向

2. 更改指针的一次操作的范围(字节数)



(*ptr)[1]

上一篇:面试题_后端开发类

下一篇:简单的数据结构树和队列的基本概念

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部