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语言基础复习(一) -> 正文阅读

[C++知识库]C语言基础复习(一)

指针

前言

记录一个数据对象在内存中的存储位置,需要两个信息:

1、数据对象的首地址。

2、数据对象占用存储空间大小

基础数据类型所占内存空间大小(字节),一个字节代表8个二进制位

char? ? 1

short? ? ?2

int? ? ? ? ? ? ? 4

long? ? ? ? ? ? 4

longlong? ? ? ? 8

float? ? ? ? ? ? ? ?4

double? ? ? ? ? ?8

指针数据类型

取地址运算符&

可以获取数据对象的首地址和所需存储空间大小

声明指针类型

int  n;
int* pn=&n;

指针类型的值是目标数据对象的首地址!

?

?

C语言中通过不同的指针类型来标记目标数据对象的空间大小,那么不同数据类型能否相互赋值呢?

比如:

#include <stdio.h>
?
int main() {
int n;
int *pn=&n;
char y;
char *py=&y;
?
 ?  pn=py;
 ? ?
 ?  printf("pn=%u\n",pn);
 ?  printf("py=%u\n",py);
?
 ?  return 0;
}
?

由于char和int 类型所占空间大小不一样,不能进行自动转换。

取值运算符*

根据指针存储的首地址和空间大小找到目标数据对象。

注意:%p是指针类型专用站位符,在32以及64位编译条件下都能保证打印正确。

?也可以这样使用指针修改所指数据对象,以及访问数据对象

?

?指针类型大小

注意:char和int存储的是数据范围不同的两种数据,char型占用空间小一点,int占用空间大一点。 ?
char*和int*存储均为数据对象的地址,它们所占的空间是相同的。

强制转化指针类型

int型指针和char型指针不能使用赋值自动转化,如果使用强制转化。

我们可以看到下面程序,强制将pn转化为char *赋值给pc,再看运行结果,两个首地址、值一致。

指针运算

指针类型地址加减规律

指针类型加n后,首地址向后移动n*步长字节。

指针类型减n后,首地址向前移动n*步长字节。

注意:取值运算符*的优先级高于算术运算符。

数组

访问数组方法

1、数组名【下标】

2、 *(数组名+偏移量) 其中偏移量表示相差元素个数

指针作为参数传递

仅有首地址的指针类型void *

类型为void *的指针仅保存首地址,不保存目标数据对象的空间大小。

void *好处:任意类型的指针都可以直接赋值给它。

?具体文档详见GitHub

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-09-15 01:47:57  更:2022-09-15 01:49:21 
 
开发: 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年5日历 -2024/5/19 16:01:36-

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