C语言学习六指针

初识指针,简单示例程序:

/*
	指针就是地址,地址就是指针
	地址就是内存单元的编号
	指针变量是存放地址的变量
	指针和指针变量是两个不同的概念
	但是要注意: 通常我们叙述时会把指针变量简称为指针,实际它们含义并不一样
*/
# 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
						 在所有出现 i 的地方都可以替换成*p

				*p 就是以p的内容为地址的变量

	*/

	j = *p;	//等价于 j = i
	printf("i = %d, j = %d\n", i, j);

        附注:
                * 的含义
                    1.乘法
                    2.定义指针变量
                      int * p;
                      //定义一个名字叫 p 的变量, int * 表示p只能存放int变量的地址
                    3.指针运算符
                         该运算符放在已经定义好的指针变量的前面
                         如果 p 是一个已经定义好的指针变量
                         则 *p 表示  以p的内容为地址的变量
	return 0;
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值