C语言初识笔记(八) | 指针

本文介绍了C语言中的内存管理,包括内存单元的划分、内存地址的概念以及指针的使用。通过示例展示了如何通过指针访问和修改变量的值,并探讨了不同数据类型指针的大小以及在32/64位平台上的差异。此外,还涉及到了解引用操作符(*)和取地址操作符(&)的用法。
摘要由CSDN通过智能技术生成

内存

内存是电脑上特别重要的存储器,计算机中所有程序的运行都是在内存中进行的 。 所以为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是1个字节。 为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址。

#define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>
int main()
{
	int a = 10;    //4个字节
	int* p = &a;   //取地址
	//有一种变量是用来存放地址的--指针变量--p为一个整型指针变量 *说明p是指针变量 p的类型位int*
	printf("%p\n", &a);  //打印地址 十六进制地址
	printf("%p\n", p);   //作用同上
	*p = 20;     //*--解引用操作符/间接访问操作符  通过地址找回a
	printf("a = %d\n", a);   //20

	char ch = 'w';
	char* pc = &ch;
	*pc = 'a';
	printf("%c\n", ch);   //a
	printf("%d\n", sizeof(pc));   //4/8  计算指针大小--由32/64位平台位数决定

	double d = 3.14;
	double* pd = & d;
	*pd = 5.5;
	printf("d=%lf\n", d);   //5.500000
	printf("d=%lf\n", *pd);   //5.500000
	printf("%d\n", sizeof(pd));   //4/8  计算指针大小--由32/64位平台位数决定

	printf("%d\n", sizeof(char*));   //4/8  计算指针大小--由32/64位平台位数决定
	printf("%d\n", sizeof(int*));   //4/8  计算指针大小--由32/64位平台位数决定
	printf("%d\n", sizeof(long long*));  //4/8  计算指针大小--由32/64位平台位数决定
	printf("%d\n", sizeof(double*));   //4/8  计算指针大小--由32/64位平台位数决定

	return 0;
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天青i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值