C语言小笔记(一)

一、C预处理

二、指针

语句

cpp 复制代码
p=&c;

将变量c的地址赋值给变量p,称p为"指向"c的指针。

(1)区分C语言中的运算符&与*

cpp 复制代码
int x=1,y=2,z[10];
int *ip;/*ip是一个指向int型数据的指针变量*/
ip=&x;/*将变量x的地址赋值给ip,或者等价地说成使ip指向x*/

y=*ip;/*将ip指向位置的内容赋值给变量y,现在y=1*/

*ip=0;
/*注意,现在ip指向的存储器单元内的内容被赋值成为0
* 也就是说现在x的值等于0
*/

ip=&z[0];/*现在把变量z[0]的地址赋值给ip*/

(2)指针ip的声明

cpp 复制代码
int *ip;

(3)

cpp 复制代码
y=*ip+1;
/*将*ip指向对象的值取出并加1,然后再将结果赋值给y*/


*ip+=1;
/*将*ip指向的对象的值取出并加1*/
等价于:
(*ip)++;

(4)指针当作变量直接使用

cpp 复制代码
//*指针iq指向另一个整型*/
iq=ip;
/*将把ip中的值拷贝到iq中,这样iq也指向ip指向的对象*/

三、指针与函数参数

(回看上面指针变量s声明的格式......)

四、指针与数组

在函数定义中,形式参数:

cpp 复制代码
char s[];

cpp 复制代码
char *s;

是等价的。

五、地址算术运算

六、多维数组与指针数组

相关推荐
望获linux2 小时前
【Linux基础知识系列】第一百一十篇 - 使用Nmap进行网络安全扫描
java·linux·开发语言·前端·数据库·信息可视化·php
雷达学弱狗5 小时前
链式法则解释上游梯度应用
开发语言·前端·javascript
l5657586 小时前
第四十三天(JavaEE应用&ORM框架&SQL预编译&JDBC&MyBatis&Hibernate&Maven)
笔记
仙俊红6 小时前
Spring Boot `@Configuration` 与 `@Component` 笔记
java·spring boot·笔记
Ysn07198 小时前
pytorch_grad_cam 库学习笔记—— Ablation-CAM 算法的基类 AblationCAM 和 AblationLayer
pytorch·笔记·学习
小清兔8 小时前
c#基础知识
开发语言·数据库·学习·unity·c#·游戏引擎·.net
霜绛9 小时前
Unity笔记(七)——四元数、延迟函数、协同程序
笔记·学习·unity·游戏引擎
风和日丽 随波逐流9 小时前
java18学习笔记
笔记·学习·java18
奇某人10 小时前
【语法】【C+V】本身常用图表类型用法快查【CSDN不支持,VSCODE可用】
开发语言·vscode·markdown·mermaid
做一位快乐的码农10 小时前
php程序设计之基于PHP的手工艺品销售网站/基于php在线销售系统/基于php在线购物商城系统
开发语言·php