IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言——指针 ( 1 ) -> 正文阅读

[C++知识库]C语言——指针 ( 1 )

一.指针的概念

1.概念:指针就是变量的地址。? ?(&是取地址符,这是指针)

int main()
{
   int a = 4;   
   printf("%d\n", a);     //输出变量a的内容
   printf("%x\n", &a);    //输出变量a的地址
   return0;
}

2.变量的访问方式:

? ?(1)直接访问:之前的访问都采用了直接访问的方式。在定义变量、编译时,系统会给变量随机分配相应的储存空间,同时也会产生一个变量和内存地址。

? ? (2)间接访问:在整形变量、字符型等变量中储存的是数值或字符。在C语言中还有一种定义变量的方式,那就是根据变量储存的地址,若定义了变量整型变量p,通过赋值运算符将变量a的地址赋给他(p = &a)。通过变量p访问变量a,需要先通过变量与内存关系得到a的地址,再通过这个地址访问变量a,这种方式就是间接访问。

3.指针和地址:在C语言中,把地址称为指针。如果变量中保存的是其他变量的地址,这种变量称为指针变量,可以把指针变量的变量简称指针。

二.指针变量

1.指针变量的定义:??类型说明符 * 指针变量名? ? ??(类型说明符指定指针的变量类型,可以是整型、实型、字符型、数组、结构体等数据类型。指针变量名表示变量称,必须是合法标识符。)

例如:
1.定义时初始化:

int a;
int *p = &a;

2.先定义后赋值:

int x, *p;
p = &x;

拓展:

?

类型说明符

一般用于修饰int

第一类:说明长度的

  • short
    short占用2个字节(16bit),取值范围是-2^15 ~ 2^15-1

  • long
    在64位编译器上,long占用8个字节(64bit),取值范围是-2^63 ~ 2^63-1
    在32位编译器上,long占用4个字节(32bit),取值范围是-2^31 ~ 2^31-1

  • long long
    long long占用8个字节(64bit),取值范围是-2^63 ~ 2^63-1

  • 注意点:
    1.企业开发一般不用long,用long long
    2.数据类型超出了对应的取值范围,就会导致存储的数据不对
    3.short的长度不能大于int,int的长度不能大于long
    4.char一定为为8位(1字节),毕竟char是我们编程能用的最小数据类型
    5.C语言不看怎么存储,看怎么读取,short -----> %hi,long -----> %li, long long -----> %lli


第二类:说明符号的

  • signed
    signed int等价于signed,unsigned int等价于unsigned
    signed和unsigned的区别就是它们的最高位是否要当做符号位,并不会像short和long那样改变数据的长度,即所占的字节数

  • unsigned
    表示无符号,也就是说最高位并不当做符号位,所以不包括负数。
    unsigned的取值范围是:0 ~ 2^32 - 1

  • 注意:
    如果想输出unsigned定义的一个正数,占位符用%u
    unsigned应用场景:银行存款的记录(提高阅读性),学生成绩等

合法标识符

C语言标识符是指用来标识某个实体的一个符号,在不同的应用环境下有不同的含义,标识符由字母(A-Z,a-z)、数字(0-9)、下划线“_”组成,并且首字符不能是数字,但可以是字母或者下划线。例如,正确的标识符:abc,a1,prog_to。

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-13 12:37:21  更:2021-12-13 12:37:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 12:02:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码