C语言程序设计:现代方法_读书笔记(四)指针

本文详细介绍了C语言中的指针概念,包括指针变量的声明、取地址运算符与间接寻址运算符的使用,以及如何进行指针赋值。文章还探讨了指针作为函数参数和返回值的用法,强调了动态存储分配的重要性,特别是malloc、calloc和realloc函数的使用,并提醒读者避免返回指向自动局部变量的指针。
摘要由CSDN通过智能技术生成

1.指针变量

大多数现代计算机将内存分割为字节,每个字节可以存储8位的信息。每个字节都有唯一的地址,用来和内存中的其他字节相区别。如果内存中有n个字节,那么可以把地址看作0~n-1的数。
在这里插入图片描述
可执行程序由代码(原始 C 程序中与语句对应的机器指令)和数据(原始程序中的变量)两部分构成。程序中的每个变量占有一个或多个字节内存,把第一个字节的地址称为变量的地址。

虽然用数表示地址,但是地址的取值范围可能不同于整数的范围,所以一定不能用普通整型变量存储地址。可以用特殊的指针变量存储地址。在用指针变量p存储变量i的地址时,说p指向i。

指针变量的声明

int *p;

指针变量的声明是必须在指针变量名字前放置星号,上述声明说明p是指向int类型对象的指针变量。
指针变量可以和其他变量一起出现在声明中:

int i,j,a[10],b[20],*p,*q;

C语言要求每个指针变量只能指向一种特定类型(引用类型)的对象:

int *p;
double *q;

引用类型是什么类型没有限制,指针变量甚至可以指向另一个指针,即指向指针的指针。

2.取地址运算符和间接寻址运算符

为了找到变量的地址,可以使用&(取地址)运

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值