level 5
西安恩仪联教育
楼主
c指针总结与分析
【目标】
1、深入理解指针的概念和用法
2、深入理解指针变量概念和用法
3、指针和函数的关系
【内容组织】
项目一:指针概念和用法:
内容导入:
1、地址:内存单元的编号,内存单元以字节编号
2、指针:地址的形象化描述,称为指针
3、研究指针的目的:通过指针给它所表示多单元中存取数据
*:指针运算符==间接访问运算符
*(指针) = 数据
data = *(地址)
如何给固定地址(0x7f008820)写一个整数0x3456?
*((int *)0x7f008820) = 0x3456
#define GPMDAT *((int volatile *)0x7f008820)
GPMDAT = 0X3456;
4、指针分类:
整型指针、实型指针、字符型指针、结构体指针
void *
数组指针、二级指针、函数指针
项目二、指针变量
1、存放地址的变量
int *pdata = NULL;定义
pdata = 地址 指向
*pdata = 数据 引用
2、取地址符号 &变量名
3、操作内存空间
int *pdata = (int *)malloc(sizeof(int));
int *pdata = malloc(sizeof(int));
*pdata = 整数值;
4、各种类型指针变量的定义
项目三、指针和函数的关系:指针作为函数的参数
1、主函数传递数据给子函数
传递数据:传递数据在内存中起始地址和数据元素个数
例如:
main()
{
int array[100] = {0};
char str[100] = {0};
...
max(array,30)
find_max_char(str);
}
int max(const int *array,int count)
{
*(array + i) == array[i]
array++;//不推荐使用此种方式
}
char find_max_char(const char *str)
{
}
2、子函数传递数据给主函数
函数参数的设计方法:指针作为函数参数,目的是为了获取子函
数中的数据。
设计一个函数,求一个数组中所有的偶数,调用形式如下:
find_even(array1,count,array2)
函数设计接口如下:
int find_even(const int *array1,int count,int *array2)
{
}
传递arrary1目的是传递数据给子函数
传递array2的目的是为了从子函数中获取数据
【小结】
本节主要内容是对指针和指针变量进行了重新的总结,研究指针的目的是通过指针操作数据,指针是手段,数据是目的;实际的编程中用户通过指针变量操作数据,用指针变量来代替直接使用指针。指针的作用实际体现在函数的设计过程中,指针引入的目的是为函数服务,指针和函数的关系必须进行深入的理解。函数之间多个数据的传递需要使用指针。
2025年12月24日 06点12分
1
【目标】
1、深入理解指针的概念和用法
2、深入理解指针变量概念和用法
3、指针和函数的关系
【内容组织】
项目一:指针概念和用法:
内容导入:
1、地址:内存单元的编号,内存单元以字节编号
2、指针:地址的形象化描述,称为指针
3、研究指针的目的:通过指针给它所表示多单元中存取数据
*:指针运算符==间接访问运算符
*(指针) = 数据
data = *(地址)
如何给固定地址(0x7f008820)写一个整数0x3456?
*((int *)0x7f008820) = 0x3456
#define GPMDAT *((int volatile *)0x7f008820)
GPMDAT = 0X3456;
4、指针分类:
整型指针、实型指针、字符型指针、结构体指针
void *
数组指针、二级指针、函数指针
项目二、指针变量
1、存放地址的变量
int *pdata = NULL;定义
pdata = 地址 指向
*pdata = 数据 引用
2、取地址符号 &变量名
3、操作内存空间
int *pdata = (int *)malloc(sizeof(int));
int *pdata = malloc(sizeof(int));
*pdata = 整数值;
4、各种类型指针变量的定义
项目三、指针和函数的关系:指针作为函数的参数
1、主函数传递数据给子函数
传递数据:传递数据在内存中起始地址和数据元素个数
例如:
main()
{
int array[100] = {0};
char str[100] = {0};
...
max(array,30)
find_max_char(str);
}
int max(const int *array,int count)
{
*(array + i) == array[i]
array++;//不推荐使用此种方式
}
char find_max_char(const char *str)
{
}
2、子函数传递数据给主函数
函数参数的设计方法:指针作为函数参数,目的是为了获取子函
数中的数据。
设计一个函数,求一个数组中所有的偶数,调用形式如下:
find_even(array1,count,array2)
函数设计接口如下:
int find_even(const int *array1,int count,int *array2)
{
}
传递arrary1目的是传递数据给子函数
传递array2的目的是为了从子函数中获取数据
【小结】
本节主要内容是对指针和指针变量进行了重新的总结,研究指针的目的是通过指针操作数据,指针是手段,数据是目的;实际的编程中用户通过指针变量操作数据,用指针变量来代替直接使用指针。指针的作用实际体现在函数的设计过程中,指针引入的目的是为函数服务,指针和函数的关系必须进行深入的理解。函数之间多个数据的传递需要使用指针。