IT之路-初学指针+数组进一步.ZCSDN.2017.7.20
来源:互联网 发布:有约束的最短路径算法 编辑:程序博客网 时间:2024/06/04 19:41
今天学了神马?指针
什么是指针?指针是内存单元的编号,什么是编号?地址是变量存放在内存单元中的一个编号,内存按照每个字节将内存分成一块一块,每块的编号就是地址
所以指针就是内存地址,指针也有变量,称为指针变量,与其他变量一样,指针变量就是用来存放数据的,而存放的就是指针(地址)。成为指针变量
指针变量的定义 <数据类型> *<指针变量名> 举个栗子:int *p;
&为取地址符 ex:int a;p=&a;就是取变量a的地址放在指针变量p中
*为取指针内容符 ex:int a=3;p=&a;*p == 3 中文解释:指向地址变量p存放的地址内存当中存放的值
数组指针:就是数组的指针 定义int (*a)[5]
指针数组:就是指针的数组 int* a[5]
指针指针:指针的指针 int **p
老师的说法
指针与数组
1.指针数组
指针的数组,数组中的元素,是指针变量。
int* a[5];
<数据类型*> <变量名>
int* a
2.数组指针
数组的指针,占4个字节,指向一个数组。
int (*a)[5];
<数据类型> <变量>
int a[i][j][k] int a[][j][k]={1,2,3}
int (*a)[j][k]
3.指针的指针
指向指针(地址)的指针变量。
int **p;
此重在理解
4.指针的运算 32位系统的基类型的宽度为32位
(1)指针的加 n、减 n;
以基类型宽度为单位移动指针
px+n : (px)+sizeof(px的类型)*n
px-n : (px)-sizeof(px的类型)*n
i char *p;
p+n -> (p)+sizeof(char)*n
(2)两个指针相减
间隔距离是多少个单位(基类型宽度)
// px-py: (sizeof(px)-sizeof(py))/sizeof(类型)
数组的分赃
a[2][3][4] 先把a分成两份每份3*4=12个,分完之后再把每份分成3份,每份4个,结束其他多维数组以此类推
数组访问方式
1、下标法:一个个赋值
2指针法:*(*(a+i)+j)具体为什么,暂时没懂
变量:程序语言对存储单元的抽象
七大特征:变量名、地址、(内存)大小、类型、值、生存期、作用域
(1)变量名(name) 标识
(2)地址(address) 存储位置
(3)大小(size) 存储空间
(4)类型(type) 值域和运算集
(5)值 (value) 内容
(6)生存期(lifetime) 存在的时段
(7)作用域(scope) 作用范围
我有点点感觉未来可能不好过!
什么是指针?指针是内存单元的编号,什么是编号?地址是变量存放在内存单元中的一个编号,内存按照每个字节将内存分成一块一块,每块的编号就是地址
所以指针就是内存地址,指针也有变量,称为指针变量,与其他变量一样,指针变量就是用来存放数据的,而存放的就是指针(地址)。成为指针变量
指针变量的定义 <数据类型> *<指针变量名> 举个栗子:int *p;
&为取地址符 ex:int a;p=&a;就是取变量a的地址放在指针变量p中
*为取指针内容符 ex:int a=3;p=&a;*p == 3 中文解释:指向地址变量p存放的地址内存当中存放的值
数组指针:就是数组的指针 定义int (*a)[5]
指针数组:就是指针的数组 int* a[5]
指针指针:指针的指针 int **p
老师的说法
指针与数组
1.指针数组
指针的数组,数组中的元素,是指针变量。
int* a[5];
<数据类型*> <变量名>
int* a
2.数组指针
数组的指针,占4个字节,指向一个数组。
int (*a)[5];
<数据类型> <变量>
int a[i][j][k] int a[][j][k]={1,2,3}
int (*a)[j][k]
3.指针的指针
指向指针(地址)的指针变量。
int **p;
此重在理解
4.指针的运算 32位系统的基类型的宽度为32位
(1)指针的加 n、减 n;
以基类型宽度为单位移动指针
px+n : (px)+sizeof(px的类型)*n
px-n : (px)-sizeof(px的类型)*n
i char *p;
p+n -> (p)+sizeof(char)*n
(2)两个指针相减
间隔距离是多少个单位(基类型宽度)
// px-py: (sizeof(px)-sizeof(py))/sizeof(类型)
数组的分赃
a[2][3][4] 先把a分成两份每份3*4=12个,分完之后再把每份分成3份,每份4个,结束其他多维数组以此类推
数组访问方式
1、下标法:一个个赋值
2指针法:*(*(a+i)+j)具体为什么,暂时没懂
变量:程序语言对存储单元的抽象
七大特征:变量名、地址、(内存)大小、类型、值、生存期、作用域
(1)变量名(name) 标识
(2)地址(address) 存储位置
(3)大小(size) 存储空间
(4)类型(type) 值域和运算集
(5)值 (value) 内容
(6)生存期(lifetime) 存在的时段
(7)作用域(scope) 作用范围
我有点点感觉未来可能不好过!
阅读全文
0 0
- IT之路-初学指针+数组进一步.ZCSDN.2017.7.20
- IT之路-字符数组、string函数.ZCSDN.2017.7.21
- IT之路-C语言入门-ZCSDN.2017.7.12
- 我的第一篇博客—IT之路.ZCSDN.2017.7.7
- IT之路-Linux系统常用命令(后半段)-ZCSDN-2017.7.11
- IT之路-进制、运算符、控制语句-ZCSDN.2017.7.13
- IT之路-控制语句深度学习、函数及其调用.ZCSDN.2017.7.14
- IT之路-命令方式的文件管理(一部分)-ZCSDN.2017.07.10
- IT之路-编译gcc、调试gdb、makefile.ZCSDN.2017.07.17
- IT之路-C语言中五大内存区及变量的存储类型、简单shell脚本(上).ZCSDN-2017.7.18
- c++初学之指针
- 进一步理解指针2:双指针、指针数组和数组指针
- 进一步理解指针2:双指针、指针数组和数组指针
- Scala学习之数组的进一步认识
- PHP初学之数组
- c++初学之数组
- C/C++对于函数指针数组的进一步解释
- 指针之指针数组
- 安装 CICS TXS
- Nginx系列—虚拟主机配置的三种方式(一)
- 【备战秋招Day 6】经典面试题21-24及在线编程题16-18答案
- 查找字符串
- (分享面试题)封装一个函数,获取指定参数的值
- IT之路-初学指针+数组进一步.ZCSDN.2017.7.20
- 古文观止卷七_弔古戰場文_李華
- 一分钟了解“c语言如何建立数组”
- ubuntu16.04安装Kaldi+运行测试TIMIT
- 前端解决跨域问题的8种方案(最新最全)
- window下编译ffmpeg
- SHUOJ农场的边长
- 判断字符串是JSONObject 还是JSONArray?
- PaddlePaddle学习笔记:新手入门:机器学习基础知识