首页 > 编程知识 正文

指针c语言例题,c语言有什么用

时间:2023-05-05 21:04:24 阅读:61812 作者:2336

我是小康bzdgs,平凡的Javabzdgs。 有趣的文字,生活,爱远方。

个人博客: https://blog.csdn.net/weixin _ 45791445

如果有问题,欢迎联系我们: 1059320343 (备注记住CSDN ) ) ) ) ) ) ) )。

个人微信公众号:小康bzdgs

首先要记住的词------都是地址正文。 1 .内存(Memory )又称内存和主内存,是用于临时存储CPU中的运算数据,我们的程序必须加载到内存中再运行。

计算机中的所有数据都必须位于内存中,并且使用的字节数取决于数据类型。 例如,int是4字节,char是1字节。 为了正确访问这些数据,必须对每个字节进行编号。 每个字节的编号是唯一的,如地址和身份证号码,通过编号可以准确地找到字节。 内存中的字节号称为地址(地址)或指针(Pointer )

2 .一切都是地址CPU访问内存时需要的是地址,而不是变量名或函数名! 变量名称和函数名称只是地址助记符,当源文件编译并链接到可执行文件时,它们将被地址替换。 编译和链接过程的一个重要任务是找到与这些名称对应的地址。

变量名和函数名对我们很有用,在编写代码的过程中可以使用容易阅读和理解的英语字符串。 不需要直接面对二进制地址。 那个场景简直崩溃了。

需要注意的是,变量名、函数名、字符串名、数组名本质上是相同的,它们是地址的助记符,但在编写代码的过程中需要注意的是我们认为变量名表示的是数据本身,而函数名、字符串名和数组名表示的是代码块或数据块的首地址。

3 .那么什么是指针? 内存中数据的地址也称为指针,如果变量包含指向数据的指针,则称为指针变量。

在c语言中,可以用称为指针变量的变量存储指针。 指针变量的值是某个数据的地址。 这些数据可以是数组、字符串、函数或其他常规变量或指针变量。

也就是说,定义指针变量时必须具有*,而为指针变量赋值时不能具有*。

也就是说,使用指针是间接获取数据,使用变量名是直接获取数据,前者比后者成本更高。

4 .指针的含义指针的含义是间接访问。

在CPU的设计上,为了保存某个变量的存储器地址,大多需要寄存器,此时寄存器中保存的是存储器地址,因此,

可以从该寄存器直接读写变量值。 这就是间接访问。 到了c语言,发明了专门用于存储地址的其他变量类型、指针变量。

常规变量位于堆栈区域(内存分区)中,堆栈区域的内存部分很小,所以有数据需要放在堆区域中,那么如何找到申请的堆区域呢? 那个会通过指针。 另一种情况是,如果想改变调用函数传递的参数,则需要地址传递或引用传递。 地址传递是指指针传递。

5 .指针和数组p[i]=*(p i )

在数组中,指针变量每加1,地址就会分别增加4、8和1。 这是相应数据类型(int、double、char类型)的长度

数组内存是数组元素的简单数组,没有开始标志和结束标志。 求数组长度时不能使用sizeof(p )/sizeof (int )。 因为p是指向int类型的指针,编译器不知道它是整数还是一系列整数)数组,所以sizeof ) p )所要求的是p这个指针变量本身所占用的

也就是说,数组指针不能反向挤出整个数组元素的个数、数组从哪里开始、在哪里结束等信息。 就像字符串一样,数组本身也没有特定的结束标志,如果不知道数组的长度,就无法遍历整个数组。

6 .关于*和*和的谜题

如果有int型变量a,且pa是指向它的指针,那么*a和*pa分别是什么意思呢?

*a可以理解为*(a ),a是取变量a的地址(与pa等价),*(a )是取该地址上的数据(与pa等价)。 虽然绕回原点,但*a仍然与a等价。 *pa可以理解为() pa )、) pa取得pa指示的数据(与) a等价)、) pa )表示数据的地址(与) a等价),所以) pa与pa等价。 在我们现在学习的语法中,星号*主要有三种用途。

表示乘法。 例如int a=3、b=5、c; c=a * b; 这个最容易理解。 表示将指针变量定义为与常规变量区分开来,如int a=100。 int *p=a; 表示取得指针指向的数据,是间接的操作。 例如,int a、b、*p=a; *p=100; b=*p;

int a=0; int *p=a; //取地址,p为aprintf('%dn ',*p ); //取内容*一般认为取内容子,但间接运算符每次创建新变量时,都必须为变量提供初始值。 否则,此变量的值就是上次使用包含此变量数据的空间时的值。 指针常数不能用于运算,但可以使用指针变量。 数组名称是指针常数,表示数组第一个元素的地址。

如果使用指针访问数组元素,则必须将数组名称指定给指针变量。 兄弟们,bzdgs不容易写文章。 希望读者们不要引起无谓的卖淫、点赞、评论、收藏和关注。

对于白妓女的兄弟们

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。