C语言笔记之指针的初步认识
来源:互联网 发布:淘宝电风扇 编辑:程序博客网 时间:2024/05/07 13:16
1、什么是指针:
指针是一种数据类型(*)。在指针声明时,*指示声明了一个指针变量。指针变量实际就是一个整数,存储着一个内存地址(计算机中的内存都是编址的,每个地址都有一个符号)。
指针变量是占有内存空间的
2、指针的用法
(1)在指针的使用时,*号表示:操作指针所指向的内存空间中的值
*p相当于通过地址(p变量的值)找到一块内存;然后操作内存
*p=:*p放在等号的左边赋值,表示给所指向的内存赋值
=*p:*p放在等号的右边取值,表示从内存中获取值
(2)使用指针实现间接赋值(间接赋值是指针存在的最大意义)
首先要明确一个概念:指针变量和它所指向的内存块变量是两个不同的概念
定义一个指针变量*p
①在给p赋值时,只会改变p所指向的内存地址(指针变量的值),并没有改变p所指向的内容(内存块的值)
②给*p赋值*p='a'; 不会改变p所指的内存地址(指针变量的值),只会改变所指的内存块的值 。
接下来看看间接赋值的理解:
int *p=NULL(int *p,p=NULL);//定义一个指针变量p,他的地址为0;
int a=10;
p=&a;//把a的内存地址赋给p;
*p=20;//改变p所指的内存块的值,也就是改变了a的值
上面就是指针通过地址来间接修改变量的用法
这仅仅是对指针的一个初步认识,指针有一级指针、二级指针、三级指针等,还有野指针,指针数组和数组指针等知识点。对于指针的学习,目前掌握的远远不够,但是要想有好的基本功底,就应该要去啃透它,加油!
文章的最后,本人有个小疑问,一旦定义了一个变量,系统就会自动给变量分配内存,那是不是每一个内存都含有两个元素:内存地址值和内存块的值?也不知表达的对不对?
以上文字出于个人的学习笔记,如若有问题,欢迎提出!
————总有一天,你将破蛹而出!
- C语言笔记之指针的初步认识
- 初步认识C语言
- 指针的初步认识!
- 指针的初步认识
- C语言提高之指针初步
- 2---C语言|笔记【对C语言指针的初步理解】
- C语言之指针笔记
- C语言笔记之指针
- Go语言的初步认识
- Go_NO1_Go语言的初步认识
- 黑马程序员——C语言中的指针变量初步认识
- c语言中认识指针
- C语言学习--指针认识
- Android JNI编程(三)——C语言指针的初步认识、指针变量、互换两个数、函数返回多个值
- C语言的指针笔记
- C语言指针笔记之 一级指针的应用(指针做函数参数)
- (五)指针的初步认识
- C语言学习笔记之指针
- java之二叉搜索树的后序遍历序列
- Linux开机启动过程
- C#—比较、转换
- 手动实现RPC远程调用
- 打包Spring Boot工程
- C语言笔记之指针的初步认识
- linux笔记之vim(cent os)
- Nmap 源码学习一 下载编译
- <我想告诉你姑娘>
- 单纯形法 -- 求解线性规划
- ubuntu14.04(64)和win8.1双系统安装
- 6.16所学,流程图
- 进程间通信(4) - 管道(pipe)
- js验证不完全收录(非空,中英逗号,字数限制,特殊字符,密码,用户名,手机号)