指针和指针变量

指针就是地址

指针变量就是存放地址的变量

char *pa,说明地址pa存放的数据类型是char型的

int *pb,说明地址pb存放的数据类型是int型的

 

 

取值运算符和定义指针用的是同一个符号*,属于符号的重用

在不同地方有不同的用法,在定义的时候属于定义一个指针变量,其他地方属于取地址的值

a=3属于直接访问, *&b = 4,属于间接访问

// ConsoleApplication4.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "windows.h"

int main()
{
	char a = 'F';
	int b = 123;

	char *pa = &a;
	int *pb = &b;

	printf("%c\n", *pa);
	printf("%d\n", *pb);

	*pa = 'C';
	*pb += 1;

	printf("now ,a = %c\n", a);
	printf("now, b = %d\n", b);

	system("pause");

	return 0;
}

  

尽管pa,pb作为指针变量指向的具体数据分别是char和int

但他们作为变量都是整型,即4个字节

 

首先,你没有给指针变量a赋值

那么就是随机的,而你给它赋值,就会影响到系统的一些关系代码

但一般程序不给这么干

若分配的地址是合法的,就允许这么干。。但还是不好

所以一定要初始化

 

 

posted on 2018-09-22 11:40  田安Anne 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/EvilAnne/p/9689760.html

指针指针变量是编程中常见的概念,特别是在CC++语言中。理解它们的关系对于掌握这些语言的内存管理非常重要。 1. **指针(Pointer)**: - 指针是一个内存地址,它指向某个变量的存储位置。简单来说,指针就是一个变量的地址。 - 指针可以指向任何数据类型的变量,包括基本数据类型(如int、float)复杂数据类型(如结构体、数组)。 2. **指针变量(Pointer Variable)**: - 指针变量是一个变量,它用来存储指针(即内存地址)。指针变量本身也有一个内存地址,但它存储的是另一个变量的地址。 - 声明一个指针变量时,需要指定它将要指向的数据类型。例如,`int *p;`声明了一个指向整数类型的指针变量`p`。 关系: - 指针变量是用来存储指针变量。换句话说,指针变量中存储的是另一个变量的内存地址。 - 指针是内存地址,而指针变量是用来保存这个地址的变量。 示例代码: ```c #include <stdio.h> int main() { int a = 10; // 定义一个整型变量a int *p; // 定义一个指向整型的指针变量p p = &a; // 将变量a的地址赋给指针变量p printf("a的值: %d\n", a); printf("a的地址: %p\n", &a); printf("指针p的值(a的地址): %p\n", p); printf("指针p指向的值: %d\n", *p); return 0; } ``` 在这个示例中,`p`是一个指针变量,它存储了变量`a`的地址。通过指针变量`p`,我们可以访问修改变量`a`的值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值