指针随笔1

郝斌c语言指针
指针
指针的重要性:
表示一些复杂的数据结构
快速的传递数据
使函数返回一个以上的值
能直接访问硬件
能方便的处理字符串
是理解面向对象语言中引用的基础
总结:指针是c的灵魂
指针的定义
地址:
内存单元的编号
指针:
地址:内存单元的编号
指针既地址,地址就是指针
指针变量就是存放地址的变量
但是要注意,通常我们叙述时会把指针变量简称为指针,实际上指针和指针变量不一样
指针的分类
1.基本类型指针

//郝斌c语言指针1

#include <stdio.h>

int main(void)
{
	int *p; //p是变量的名字,int *表示p变量存放的是int类型变量的地址
			//int *p;不代表定义了一个名字叫*p的变量
			//int *p;应该理解成p是变量名,p变量的数据类型是int *类型
			//  int *类型实际就是存放int变量地址的类型
	int i = 3;
	int j;
	p = &i; 
		/*
			1.p保存了i的地址,因此p指向i;
			2.p不是i,i也不是p,
			修改p(i)的值,不会影响i(p)的值;
			3.如果一个指针变量指向了某个普通变量,则
			*指针变量就完全等同于普通变量;
			例子:如果p是个指针变量,且p存放了普通变量i的地址
			则p指向了普通变量i
			*p就完全等同于i或者说*p可以替换成i,反之亦可

			*p就是以p的内容为地址的变量
				如:p=&i;这里p的内容是i的地址
					以i的地址为地址,那就是i
					所以*p等同于i 
		*/
	//p=i;  //错的,因为类型不一致,p只能存放int类型的变量的地址,不能存放int类型变量的值
	j=*p;
	printf("i=%d, j=%d, *p=%d\n",i,j,*p);  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值