C语言学习--常量指针与指针常量
2024-09-08 15:28:41
指针常量
#include<stdio.h>
#include<string.h> //常量指针:是一个指针, 定义不用初始化, 能改变指向,但是指向的内容不能被修改
const int* p; //指针常量: 是一个常量,这个常量的值是一个指针, 定义的时候必须初始化, 并且不能改变指向, 可以改变指向的内容
// const 修饰p1 代表p1是一个常量, p1是什么样的常量呢, 是指针类型的, 指针就是地址, 所以P1的指向是不能改变的, 就是说p1代表的地址不能修改, 但是这个地址里面的内容是可以修改的
int* const p2; int main()
{
int a = 10;
int b = 20;
int* const p1 = &a; //定义的时候必须初始化 printf("%d\n", *p1); *p1 = 100;
printf("%d\n", *p1);// 100, 指针常量的内容是允许被修改的 p1 = &b;//报错, 指针常量的指向是不能被修改的, p1是地址, 这个地址是不能被修改的 }
常量指针
#include<stdio.h>
#include<string.h> //常量指针:是一个指针, 定义不用初始化, 能改变指向,但是指向的内容不能被修改
const int* p;
//首先是一个指针, 但是这个指针指向的内容是一个常量 int main()
{
const int* p1; int a = 10;
int b = 20; p1 = &a;
printf("*p1:%d\n",*p1);//10
p1 = &b;
printf("*p1:%d\n",*p1);//20 指向是可以改变的 *p1 = 100;//报错, 指针里面的内容是不能改变的 }
最新文章
- gulp启动一个小型web服务器配置&;browserify(require)
- javascript父级鼠标移入移出事件中的子集影响父级的处理方法
- 【zepto学习笔记03】事件机制
- C# 对多个集合和数组的操作(合并、去重复、判断)
- Mac 使用Sublime Text 3搭建java环境
- HDU 1405 第六周 J题
- C# 号码归属地查询算法(根据Android来电归属地二进制文件查询修改)
- TCP的延迟ACK机制
- Python档案袋(文件系列操作 )
- 如何使用mongodb(建立原型,连接数据库)
- angular 实现左侧和顶部固定定位布局
- 区域检测算法-MSERs
- ARIMA模型总结
- IDEA在debug时修改变量值
- C++11之 std::atomic (不用锁实现线程互斥)
- Windows下fabric sdk连接Linux上fabric网络的调试过程
- 富文本编辑器TinyMCE
- C# 去掉webapi返回json所带的转义字符
- Python编程Message: CGI script is not executable (&#39;/cgi-bin/xxxxx.py&#39;)
- java8新特性——Lambda表达式