变量与指针变量的区别
谈一般变量与指针变量的区别
一. 首先我们要知道变量访问有两种方式
1 . 变量名 : 例如 int a = 10 i+j = 10
2 . 地址 :顾名思义它表示的是一个变量的地址,就好比你的名字是个变量,我可以通过名字来追踪到你,但我也可以 通过你家的地址去找到你,对余c语言的地址也是一样的, 还有就是我们要知道 指针 = 地址。
二. 我们话也不多说,直接在编程中体验更好一点
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a = 10; //整型变量 , 存放的是整数
//定义之后可以单独拿出来赋值,例如:
a = 123; //这时a 的值便不再为10 ,而是123 ,一般变量都是可这般赋值
char c = 'c';
int b[3] = {1,2,3};
int* p; //指针变量,存放的是地址 此时* 是一个标识符
p = &a; //给指针变量赋值 ,& 是取地址符号 例如:
printf("a的地址为: %p \n",&a); // & 取地址, 取变量名所代表的变量的内存地址
//这里我们要注意一下 /* *p = &a; */ 这么写是错误的!!!!!!!!!
// * 只有在定义一个指针变量时侯,才是指针的标识符
// 其他情况,都是一个运算符, 也就是说此时的 * 代表的是一个运算符,跟 +-*/运算类似
// 该运算符的功能是, 取出内存地址中数据的值(取内容)例如
printf("通过地址来获取a的值 a= %d \n",*(&a)); //这时 * 便是取出a 地址中的数据的值
/*
我们先找出3个变量的相同点与不同点
1.相同点
a c b[] 都是变量
2 不同点
变量的类型不同
a = 整数型
c = 字符型
b[] = 数组
*/
/* 那么接下来我们会问
问:什么变量能存放地址?
答:指针变量存放的是地址
问:怎么才能定义一个指针变量?
答:
例如 int *p; 或 int* p;
*/
return 0;
}
变量与指针变量的区别相关推荐
- C语言 变量的指针和指向变量的指针变量
一.指针变量的定义 变量的指针就是变量的地址.我们可以定义一个指向 变量(普通变量) 的 指针变量.这种指针变量,我们在定义的时候,会引入一个 * ,用于在定义的语句中表示"这是一个指针变量 ...
- go 指针变量和普通变量的转化_C语言 | 指向结构体变量的指针变量
"要成为绝世高手,并非一朝一夕,除非是天生武学奇才,但是这种人-万中无一" --包租婆这道理放在C语言学习上也一并受用.在编程方面有着天赋异禀的人毕竟是少数,我们大多数人想要从C语 ...
- 引用变量和指针变量初探
1. 引用变量其实和指针变量在内部实现上是一样的(包括定义.作为右值等操作). 2. 引用变量与指针变量本身在符号表中的保存机制不一样的(符号表中保存变量的名字以及其地址).指 ...
- 指向结构体变量的指针变量
指向结构体变量的指针变量的定义形式与一般指针变量的定义形式相同,只是将其指向类型定义为结构体类型即可.例如: struct person {char name[20];char sex;int age ...
- C语言中数组变量和指针变量
指针变量为什么需要类型? 数组变量和指针变量在使用sizeof时不同,sizeof(数组变量)是数组长度,sizeof(指针变量)是存储int的字节长度4或者8(64bit). 数组变量在参数传递中, ...
- C++定义指针变量 | 使用指针变量
C++指针变量的定义 C++规定所有变量在使用前必须先定义,即指定其类型,在编译时按变量类型分配存储空间,对指针 变量必须将它定义为指针类型. //定义整型变量 int i,j;//定义指针变量 in ...
- 指针,指针变量,指针变量指向的一些理解
对于指针,指针变量,指针变量(通常简写成指针)指向的一些理解 1.指针的定义: 首先假设有一个内存单元,每一个内存单元对应着一个相应的编号,即为该内存单元的地址,该地址也就是我们所说的指针. 2.指针 ...
- 变量的指针和指向变量的指针变量
指针和指针变量的定义: 一个变量的地址称为该变量的"指针" 例如,地址1000是变量i的指针.如果有一个变量专门用来存放另一变量的地址(即指针),则它称为"指针变量&qu ...
- C 判断 —— if...else 语句(bool变量、float变量、指针变量与“零值”进行比较)(else 到底与哪个 if 配对呢? if 语句后面的分号?)
1.bool 变量与"零值"进行比较 bool 变量与"零值"进行比较的 if 语句怎么写? bool bTestFlag = FALSE;//想想为什么一般初 ...
最新文章
- IDEAWebstorm使用
- 液体冷却将在数据中心重现
- PHP之高性能I/O框架:Libevent(二)
- 目标检测——Faster R_CNN使用smooth L1作为bbox的回归损失函数原因
- 简单点亮发光二极管实例(位操作)
- android 2个界面抽屉,Android使用DrawerLayout创建左右两个抽屉菜单
- 2015蓝桥杯b组java_Java实现第十一届蓝桥杯JavaB组 省赛真题
- 马士兵java教程笔记_马士兵java教程笔记4
- mysql 数据库gbk转utf8 乱码_mysql表utf8编码,内容gbk编码的乱码转换
- java代码实现画板_求好心人帮找或做个JAVA画板程序 代码,主要能实现简单的画板功能!...
- python按照多个key排序
- matplotlib 可视化 —— 定制画布风格 Customizing plots with style sheets(plt.style)
- 推荐:没有项目经验,可以读一下这几个开源的企业级项目...
- 海康威视二次开发 python_海康威视面试python后端题
- 【分享】微信H5游戏制作教程,用唤境引擎轻松开发微信AVG小游戏
- java计算机毕业设计西藏民族大学论文管理系统源程序+mysql+系统+lw文档+远程调试
- c语言usb串口通信程序,C语言在RS232串行接口通信中的实现
- 根据周次显示日期范围_刚刚!总投资34亿元!京东方投建12英寸OLED微显示器件生产线...
- Excel教程:必会的大数据录入技巧|Excel入门
- 说一说 oneway 吧,了解过这个修饰符作用吗?原理是什么?怎么理解单向调用?