【C语言】定义指针变量|有效声明指针|使用指针

举报
謓泽 发表于 2023/09/28 19:50:21 2023/09/28
【摘要】 【C语言】定义指针变量|有效声明指针|使用指针

⚔ 定义指针变量

对指针变量的定义包括 个内容

  1. 指针类型说明,即为变量为一个指针变量
  2. 指针变量名
  3. 变量值(指针)所指向的变量的

定义指针变量与定义普通变量非常类似,不过要在变量名前面加星号(*) 格式如下所示↓

datatype *name;或者 datatype *name = value;

解释:* 表示一个指针变量,datatype 表示该 指针变量所指向的数据的类型。如↓

int *p;// %p打印地址

表示 p 这是一个指针变量,变量名即为指针的变量名,类型说明符表示本指针变量所指向的变量的数据类型。

是指向int 类型数据的指针变量,至于究竟指向哪一份数据,应该由赋予它的值决定。如下↓代码所示。

int *p1;   // p1 是指向整形变量的指针
float *p2; // p2 是指向浮点变量的指针
char *p3;  // p3 是指向浮点变量的指针

🔥注意:个指针变量只能是指向同类型的变量。

int a = 100;    
int *pa = &a;   

(1) a在内存中要分配空间4个字节。

(2) 取出a的地址赋值给指针变量papa说明执行对象是int类型。

🔥注意→取地址a并不会拿出4个字节的地址,只会拿出第一个字节地址。

1字节 = 8比特位,按照十六(0x)进制的方式来的。


💣有效声明指针

有效指针,顾名思义就是可以有效的在程序当中运行不会出现错误的指针类型😐

int    *ip;    /* 一个整型的指针 */
double *dp;    /* 一个 double 型的指针 */
float  *fp;    /* 一个浮点型的指针 */
char   *ch;    /* 一个字符型的指针 */

🗡使用指针

使用指针时会频繁进行以下几个操作:定义一个指针变量把变量地址赋值给指针访问指针变量中可用地址的值。这些是通过使用一元运算符(*)来返回位于操作数所指定地址的变量的值。下面的实例涉及到了这些操作如下👇

#include<stdio.h>
int main(void)
{
    int a = 20;                //a在内存中要分配空间4个字节
	int *pa = &a;              //取出a的地址赋值给指针变量pa, pa说明执行对象是int类型!
	printf("无改变:%d\n", *pa);

	*pa = 30;//进行解引用操作符 *pa 就是通过解引用(pa)里边的地址来找到地址a的值。
	printf("改变的:%d\n", *pa);//解引用操作符是可以改变取地址原来的值的!

	return 0;
}

运行结果🖊

a = 20

b = 30

知识内容→上面的结果也是通过指针变量取得数据, 然后再通过解引用(*)操作符改变取地址原来的值。指针的解引用可以获取地址赋值给指针变量从而获取数值的大小(这个是初学者有时候不明白的地方,不懂可以多看几遍或者自己上手代码进行调试)

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。