指针的部分应用

简介: 指针的部分应用

内存

       说到指针我们可以先看内存,内存被分为以字节为单位的单元,内存又分为栈区,堆区,静态区,栈区存放临时变量,形参,局部变量;堆区存放malloc等的变量;静态区存放全局变量,静态变量;

单个指针所占用的字节

在64位中每种类型占用8个字节,代码如下:

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
  printf("char=%d", sizeof(char*));
  printf("int=%d", sizeof(int*));
  printf("double=%d", sizeof(double*));
  printf("float=%d", sizeof(float*));
  return 0;
}

在32位电脑桌每种类型占用4个字节(由于电脑是64位,不方便展示,但代码相同,想验证的小伙伴可以试试)

指针

我们可以建立一个指针,代码如下

#include <stdio.h>
int main()
{
  int a = 0;
  int* p = &a;
  printf("*p=%d", *p);
  printf("a=%d", a);
  return 0;
}

运行结果如下:

进入调试我们可以对a进行取地址

此时a的地址为0x0000006B362FF534

我们再*p的地址p

地址为 0x0000006B362FF534

指针在数组的使用

代码如下

对于数组的地址,arr便是数组的首地址,&arr[0],p,都是数组的首地址,故我们可以得到arr=p=&arr[0];故我们可以得到:

需要代码可以查看https://gitee.com/steventom/class/commit/75370c39090ae5d7b43259fb021a51570d53d4ff

希望各位一键三连

目录
相关文章
|
21天前
|
存储 Java C++
C++ 引用和指针:内存地址、创建方法及应用解析
C++中的引用是现有变量的别名,创建时需用`&`运算符,如`string &meal = food;`。指针存储变量的内存地址,使用`*`创建,如`string* ptr = &food;`。引用必须初始化且不可为空,而指针可初始化为空。引用在函数参数传递和提高效率时有用,指针适用于动态内存分配和复杂数据结构操作。选择使用取决于具体需求。
38 9
|
存储 安全 算法
【C++智能指针 相关应用】深入探索C++智能指针:跨进程、动态库与最佳实践
【C++智能指针 相关应用】深入探索C++智能指针:跨进程、动态库与最佳实践
69 5
|
3月前
|
存储 C语言 索引
函数指针数组在实现转移表时的应用:以计算器为例
函数指针数组在实现转移表时的应用:以计算器为例
26 0
|
4月前
|
存储 API
五十行代码教你写一个简单的内存池(二级指针的应用)
五十行代码教你写一个简单的内存池(二级指针的应用)
20 0
|
24天前
|
存储 C++
C++语言学习指针和引用应用案例
C++中的指针和引用用于高效操作内存。示例展示指针和引用的基本用法:指针`*p`存储变量`a`的地址,引用`&x`在函数调用中实现值交换而无需复制。此外,引用`update(&x)`可直接修改原变量,指针`p`在数组操作中用于遍历和访问不同部分。
12 2
|
1月前
|
C语言 索引
基于C语言的函数指针应用-消息命令处理框架
基于C语言的函数指针应用-消息命令处理框架
11 0
|
2月前
|
存储 编译器 C语言
【数据结构】深入浅出理解链表中二级指针的应用
【数据结构】深入浅出理解链表中二级指针的应用
30 0
|
2月前
|
存储 算法 编译器
【C/C++ 原始指针】深入理解 C 语言指针:从基础到高级应用
【C/C++ 原始指针】深入理解 C 语言指针:从基础到高级应用
77 0
|
2月前
|
存储 编译器 程序员
【C/C++ this指针 20240105更新】探索C++编程之旅:深入理解this指针的魅力与应用
【C/C++ this指针 20240105更新】探索C++编程之旅:深入理解this指针的魅力与应用
28 0
|
2月前
|
C语言
C语言:指针与数组的实际应用
C语言:指针与数组的实际应用
10 0