数据地址映射

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>



void main1() {

	int num1;
	int num2;
	scanf("%d%d", &num1, &num2);//从小到大
	int *p1 = &num1;
	int *p2 = &num2;
	if (*p1 > *p2) {
		int *ptemp = p1;
		p1 = p2;
		p2 = ptemp;	  //交换指针
	}
	printf("%d %d", *p1, *p2);


	system("pause");
}

void sec(int const *p) {//报表  const在*左边,限定数据只能读不可写
	
	p = NULL;//指向的数据不可以改变,存储的地址改变
	printf("\n*p=%d", *p);
	//*p = 10;
}


void main2() {
	int num = 100;
	int *p = &num;
	sec(p);
	printf("num=%d", num);




	system("pause");
}


#include <stdio.h>
#include <stdlib.h>

int a[8] = { 1,8,2,7,3,6,4,5 };
const int * p[8] = { &a[0],&a[1],a + 2,a + 3,a + 4,a + 5,a + 6,a + 7 };

void main() {
	printf("原来的数组数据\n");
	for (int i = 0; i < 8; i++) {
		printf("%d\n", a[i]);
	}
	printf("原来的指针数组指向数据\n");
	for (int i = 0; i < 8; i++) {
		printf("%d\n", *p[i]);
	}

	for (int i = 0; i < 8 - 1; i++) {

		for (int j = 0; j < 8 - 1 - i; j++) {
			if (*p[j] > *p[j + 1]) {

				int *ptemp = p[j];
				p[j] = p[j + 1];
				p[j + 1] = ptemp;
			}
		}

	}

	printf("原来的数组数据\n");
	for (int i = 0; i < 8; i++) {
		printf("%d\n", a[i]);
	}
	printf("原来的指针数组指向数据\n");
	for (int i = 0; i < 8; i++) {
		printf("%d\n", *p[i]);
	}



	system("pause");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值