征服C指针,第一章

本文概述了C语言中关于标量、聚合类型(如数组和结构体)的概念,强调了字符串不能直接用==比较,介绍了指针的类型、值(内存地址)、声明顺序以及对指针操作的深入理解,包括函数参数传递和实参与形参的关系。还展示了指针的一些巧妙用法。
摘要由CSDN通过智能技术生成

今天花了一上午把《征服C指针》这本书的第一章看了下,以下是学习到的一点知识和心得

什么是标量

标量就是指char,int double和枚举型等数值类型,一级指针

什么是聚合类型

像数组,结构体和共用体这样的将多个标量进行组合的类型,叫做聚合类型

Str == “abc”,除了用比较的是首字符的指针,还可以用什么来解释

字符串是char类型的数组,是聚合类型,就不能用==来比较(言外之意是只有标量才可以用==来比较)

指针实际上存在的是什么

指针类型,指向int的指针类型,指向double的指针类型

值得注意的是,先有“指针类型”,因为有了指针类型,所有有了“指针类型的变量”和“指针类型的值”

“指针类型的值”实际上指的是什么

内存的地址

变量的声明和在内存中的顺序

变量不一定按照声明的顺序保存在内存中

对变量使用&运算符

对变量使用&运算符,可以得到该变量的地址,这个地址称为指向该变量的指针

Int* hoge_p的类型

这里声明的变量是hoge_p,它的类型是“指向int类型的指针”

指针变量的类型

指针变量的类型与其说是类型,我认为倒不如说是限制,告诉计算机它所保存的地址的变量是多少字节的,以便解引用的时候能够正确访问

指针变量的+1和+N

对指针+1运算,地址的值会增加当前指针所指向的数据类型的长度,+N运算,会前进“当前指针指向的数据类型的长度X N”

C语言的函数,参数的传递传的是“值”,这种方式传递的是参数的副本

C语言中,函数的形参都和调用时被设定值得局部变量一样

实参和形参得关系

实参是调用函数时得参数

形参是接受实参得一方

指针好玩的写法

*(p + i)可以改写成*(i+p),也可以写成i[p]

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值