C语言的指针

 指针入门

  • 基本数据类型,都有对应的指针类型

指针的数据类型     int *

#include<stdio.h>
//讲解指针的入门

void main() {

	int num = 1;
	//定义一个指针变量,指针
	//int*表示类型为指针类型(执行一个int类型指针)
	//名称是ptr,ptr就是一个int*的类型
	//ptr指向了一个int类型的变量的地址
	int* ptr = &num;

	//num的地址是多少
	//如果要输出一个变量的地址,使用的格式是%p
	//&num表示取出num这个变量的地址
	printf("num的值=%d\tnum的地址是=%p", num, &num);//num的值=1       num的地址是=00B7F874

	//指针变量,本身也有地址
	printf("\nptr的地址是%p\tptr存放的值是一个地址%p\tptr指向的值=%d", &ptr,ptr,*ptr);//ptr的地址是00DAF7C0(里边存的内容是00B7F874)
	getchar();
}

 值传递和地址传递

  • C语言传递参数可以是值传递,也可以传递指针,传递指针也叫地址传递
  • 默认传递值的类型:基本数据类型(整数类型、小数类型,字符类型),结构体,共用体
  • 默认传递地址:指针、数组

#include<stdio.h>

void main() {
	int num = 10;
	printf("num的值是%d", num);//num的值是10

	int* p = &num;
	printf("\nnum的地址值是%p", &num);//00CFF84C
	printf("\n*p=%d", *p);//10

	int* p2 = p;
	*p2 = 55;

	printf("\np2的地址值是%p", &p2);//p2的地址值是00CFF834

	printf("\nnum的值是%d", num);//55
	printf("\n*p2=%d", *p);//55

	printf("\np2中存放的地址是%p", p2);//p2中存放的地址是00CFF84C

}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值