C-7.指针

原创 2015年11月23日 19:54:02

一. 指针

1. 指针变量的定义和使用

数据访问一般分为直接访问和间接访问,指针是间接访问的常用形式

定义: 指针变量是存放内存地址的变量


注意: 指针变量所占字节数至于操作系统有关



2. 取址与取值

&: 取址运算符,获得的是一块地址

* : 取值运算符,获得的是地址存储的值



3. 指针的算术运算

指针只有加减运算


4. 指针变量

指针类型的变量,指针变量赋值意味着重指向



*p注意事项: 指针变量定义时,只起修饰作用,告诉编译器p是指针;指针变量取值时,访问内存地址为p的存储区域

二. 指针与数组

1. 指针可以当做数组名使用





2. 指针与数组的区别

所占空间不同: 指针只与操作系统位数有关,数组与元素类型和个数有关

数组名是常量地址,不能重指向(不能赋值);指针可以重指向



注意: 指针类型要与数组元素类型匹配



3. 指针数组



三. 指针与字符串

字符指针可以操作单个字符,也可以操作字符串



四. 指针与结构体

1. 结构体指针 

指向结构体变量的指针,称为结构体指针

结构体指针的定义:


结构体指针访问成员:




2. 结构体指针应用示例




3. 指针与结构体数组

结构体数组的数组名是一个结构体指针常量




注: 结构体指针为函数参数时,函数操作结构体数组时,需要传入首地址和元素个数

4. 预编译指令

宏定义


预编译指令的三种形式



五. 指针与函数

1. 函数指针定声明 定义 调用

函数名和数组名一样是地址




应用实例: 





2. 函数回调

函数指针作为参数




3. 动态排序

示例:





4. 函数返回值是函数指针

示例:






相关文章推荐

c与指针-第四章-编程练习7

  • 2009年03月04日 15:38
  • 760B
  • 下载

C指针的值和地址 [李园7舍_404]

在C语言中,函数传参分为两种:传址和传值。 传值是一个复制的过程。 传址对于变量和对象来说是传址,而针对于同一级的指针来说也是传值。传址针对的对象是指针指向的对象,此时对指针的一切行为都是...

C7指针C语言

  • 2014年03月17日 11:15
  • 461KB
  • 下载

C和指针(7)结构和联合

第10章 (1)聚合数据类型能够同时存储

[C_7]指针

12 指针 12.1void*指针 void指针可以接受任意类型的指针变量 12.2 类型确定 右左法则:第一次开始阅读声明的时候,必须从变量开始,而不是从最内部的括号 开始,向右看,碰到一个括号(...

经典c 教程(ch7 指针和内存分配---下)

7.15  数组的大小可以在程序运行时定义吗?     不。在数组的定义中,数组的大小必须是编译时可知的,不能是在程序运行时才可知的。例如,假设i是一个变量,你就不能用i去定义一个数组的大小: ...

C指针和堆空间 [李园7舍_404]

相关笔记:C指针和堆空间、C malloc()实际分配空间大小。 0 堆内存的在计算机内存中的形式 根据《The C Programming language》推测得到堆内存,图中的Hea...

C指针原理(7)-C内嵌汇编

如何在内联汇编中访问C程序的局部变量呢,请看下面这段代码。 #include int main(void){ //不使用全局变量,必须使用扩展GNU的asm //格式为:asm("汇编...

娓娓道来c指针 (7)指针运算

在前几篇文章中,我们已经见过指针运算的使用场景,并多次使用指针运算来进行验证。这里我们来特别地总结下,指针运算的本质含义。 在c语言中,假设p、pa、pb都是某种类型的指针,这样的运算被称为指针运算:...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C-7.指针
举报原因:
原因补充:

(最多只允许输入30个字)