C指针初阶

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

//int main()
//{
//	//编号-地址-指针
//	// 2^32种内存单元的编号
//	//0000000000000000000000000000000000000000
//	//....
//   //11111111111111111111111111111111111111111
//	指针在大小在32位平台是4字节,在64位平台是8字节
//	return 0;
//}

//int main()
//{
//	int a = 10;//占4个字节
//	int* pa = &a;//拿到的是a的4个字节中第一个字节的地址
//	*pa = 20;//pa指针变量
//	return 0;
//
//}

//int main()
//{
//	int* pa;
//	char* pc;
//	float* pf;
//	printf("%d\n", sizeof(pa));//4
//	printf("%d\n", sizeof(pc));//4
//	printf("%d\n", sizeof(pf));//4
//	return 0;
//}

指针类型的意义
//1.指针类型决定访问权限-指针解引用的权限有多大
//2.指针类型决定了,指针走一步,能走多远 (步长)

//int main()
//{
//	//0 1 2 3 4 5 6 7 8 9 a b c d e f
//	//11111111
//	//    8421
//
//	int a = 0x11223344;
//	
//	int* pa = &a;
//	*pa = 0;//整型指针解引用1次,访问4个字节,4个字节内容全变成0
//
//	return 0;
//}

//int main()
//{
//	int a = 0x11223344;
//	char* pc = &a;
//	*pc = 0;//字符指针解引用一次,访问1个字节,
//
//	return 0;
//}

//int main()
//{
//	int arr[10] = { 0 };
//	int* p = arr;
//	char* pc = arr;
//	double* pd = arr;
//	
//	//跳过4个字节,一个字符
//	printf("%p\n", p);//006FFA80
//	printf("%p\n", p + 1);//006FFA84
//	
//	//跳过1个字节
//	printf("%p\n", pc);//006FFA80
//	printf("%p\n", pc + 1);//006FFA81
//
//	printf("%p\n", pd);//006FFA80
//	printf("%p\n", pd + 1); //006FFA88
//
//	return 0;
//}

//int main()
//{
//	int arr[10] = { 0 };
//	int* p = arr;
//	int i = 0;
//	for (i = 0; i < 10; i++)
//	{
//		*(p + i) = 1;//p+i其实是下标为i的地址
//		//如果希望访问数组时是按整型元素来访问的话,最好把他交给一个整型指针
//	}
//	return 0;
//}

//int main()
//{
//	int arr[10] = { 0 };
//	char* p = arr;
//	int i = 0;
//	for (i = 0; i < 10; i++)
//	{
//		*(p + i) = 1;
//	}
//	return 0;
//}

//int main()
//{
//	int arr[10] = { 0 };
//	double* p = arr;
//	int i = 0;
//	for (i = 0; i < 10; i++)
//	{
//		*(p + i) = 1;
//	}
//	return 0;
//}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值