c语言与软件技术基础,软件技术基础-C语言基础课件

41528d3028836879cd698677c3999917.gif软件技术基础-C语言基础课件

阿迪达斯三条纹标志是由阿迪达斯的创办人阿迪·达斯勒设计的,三条纹的阿迪达斯标志代表山区,指出实现挑战、成就未来和不断达成目标的愿望。 软件技术基础软件技术基础 阿迪达斯三条纹标志是由阿迪达斯的创办人阿迪·达斯勒设计的,三条纹的阿迪达斯标志代表山区,指出实现挑战、成就未来和不断达成目标的愿望。 课程安排 总学时数:48 学分数:3 讲课:32学时 上机:16学时 阿迪达斯三条纹标志是由阿迪达斯的创办人阿迪·达斯勒设计的,三条纹的阿迪达斯标志代表山区,指出实现挑战、成就未来和不断达成目标的愿望。 C语言必备知识 阿迪达斯三条纹标志是由阿迪达斯的创办人阿迪·达斯勒设计的,三条纹的阿迪达斯标志代表山区,指出实现挑战、成就未来和不断达成目标的愿望。 C程序设计中使用指针可以 l 使程序简洁、紧凑、高效 l 有效地表示复杂的数据结构 l 动态分配内存 l 得到多于一个的函数返回值 l 实现很多不用指针无法实现的功能 一、指针 阿迪达斯三条纹标志是由阿迪达斯的创办人阿迪·达斯勒设计的,三条纹的阿迪达斯标志代表山区,指出实现挑战、成就未来和不断达成目标的愿望。 1. 指针的概念 «变量与地址 程序中: int i; float k; 内存中每个字节有一个编号-----地址(也称为指针) ….…. 6500H 6501H 6502H 6505H 内存 0 6503H 程序执行时为其分配内存单元 i k 注:H表示16进制 阿迪达斯三条纹标志是由阿迪达斯的创办人阿迪·达斯勒设计的,三条纹的阿迪达斯标志代表山区,指出实现挑战、成就未来和不断达成目标的愿望。 «指针与指针变量 v指针:一个变量的地址 v指针变量:专门存放变量地址的变量 指针 指针变量 变量的地址 ….…. 6500H 6504H 6506H 6505H 整型变量 i = 10 变量 p 6501H 6502H 6503H 10 6500H 指针变量 变量 变量地址(指针) 变量值 变量的内容 阿迪达斯三条纹标志是由阿迪达斯的创办人阿迪·达斯勒设计的,三条纹的阿迪达斯标志代表山区,指出实现挑战、成就未来和不断达成目标的愿望。 « -----直接访问 例 *p = 20; -----间接访问 3 20 阿迪达斯三条纹标志是由阿迪达斯的创办人阿迪·达斯勒设计的,三条纹的阿迪达斯标志代表山区,指出实现挑战、成就未来和不断达成目标的愿望。 指针变量 ….…. 6500H 6504H 6506H 6505H 整型变量 i 变量 p 6501H 6502H 6503H 整型变量 k 10 6500H 例 int i = 10, *p; p = k = *p; --间接访问 10 阿迪达斯三条纹标志是由阿迪达斯的创办人阿迪·达斯勒设计的,三条纹的阿迪达斯标志代表山区,指出实现挑战、成就未来和不断达成目标的愿望。 2. 指针变量 指针变量与其所指向的变量之间的关系 «指针变量的定义 v一般形式: [存储类型] 数据类型 *指针变量名; 3 变量 i 6500H 指针变量 p *p i*p *p=3 合法标识符 指针变量本身的存储类型指针的目标变量的数据类型 表示定义指针变量 不是‘*’运算符 例 int *p1,*p2; float *q ; static char *name; 注意: 1、指针变量只能指向定义时所规定类型的变量 2、指针变量定义后,变量值不确定 阿迪达斯三条纹标志是由阿迪达斯的创办人阿迪·达斯勒设计的,三条纹的阿迪达斯标志代表山区,指出实现挑战、成就未来和不断达成目标的愿望。 «指针变量的初始化 一般形式:[存储类型] 数据类型 *指针名 = 初始地址值; 赋给指针变量, 不是赋给目标变量例 int i; int *p= 变量必须是已定义过的 例 int *p= int i; 例 int i; int *p= int *q=p; 可用已初始化的指针变量赋初值 阿迪达斯三条纹标志是由阿迪达斯的创办人阿迪·达斯勒设计的,三条纹的阿迪达斯标志代表山区,指出实现挑战、成就未来和不断达成目标的愿望。 例 指针的概念 main( ) { int a; int *b= a=10; printf(“%d\n“, a); printf(“%d\n“, *b); printf(“%x\n“, printf(“%x\n“, b); printf(“%x\n“, } 运行结果: 10 10 4f86 4f86 4f8a ….…. 4f86H 4f8aH 4f8cH 4f8bH 整型变量a 10 指针变量b 4f87H 4f88H 4f89H 4f86H 内存 内存 地址 阿迪达斯三条纹标志是由阿迪达斯的创办人阿迪·达斯勒设计的,三条纹的阿迪达斯标志代表山区,指出实现挑战、成就未来和不断达成目标的愿望。 «指针变量作为函数参数——地址传递 特点:共享内存,“双向“传递 swap(int x, int y) { int temp; temp = x; x = y; y = temp; } main( ) { int a=5, b=9; swap(a,b); printf(“\n%d, %d\n“, a, b); } 运行结果: 例 两个变量交换数值 值传递 5, 9 阿迪达斯三条纹标志是由阿迪达斯的创办人阿迪·达斯勒设计的,三条纹的阿迪达斯标志代表山区,指出实现挑战、成就未来和不断达成目标的愿望。 swap(int *p1, int *p2) { int p; p = *p1; *p1=*p2; *p2 = p; } main() { int a=5, b=9; int *pointer_1,*pointer_2; pointer_1= pointer_2= swap(pointer_1, pointer_2); printf(“\n%d, %d\n“, a, b); } 运行结果: 例 两个变量交换数值 地址传递 9, 5 阿迪达斯三条纹标志是由阿迪达斯的创办人阿迪·达斯勒设计的,三条纹的阿迪达斯标志代表山区,指出实现挑战、成就未来和不断达成目标的愿望。 3. 指针与数组 «指向数组元素的指针变量 例 int array[10]; int *p; p= // p=array; 或 int *p= 或 int *p=array; array[0] array[1] array[2] array[3] array[9] . 整型指针p printf(“%s\n“, string); printf(“%s\n“, string+7); } I l o v e C h i string[0] string[1] string[2] string[3] string[4] string[5] string[6] string[7] string[8] string[9] string string[10] string[11] string[12] string[13] n ! a \0 阿迪达斯三条纹标志是由阿迪达斯的创办人阿迪·达斯勒设计的,三条纹的阿迪达斯标志代表山区,指出实现挑战、成就未来和不断达成目

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值