C语言入门与提高4

更新时间:2023-08-13 06:38:01 阅读量: IT计算机 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

c语言入门与提高

C语言入门与提高-4张勇涛

c语言入门与提高

进程内存分布

c语言入门与提高

数组 数组(Array)也是一种复合数据类型,它由一系列相同类型的元素(Element)组成. int count[4];

c语言入门与提高

数组名 数组名的值是一个指针常量,也就是数组第一个元素的地址 int a[4]; int char *b= a;

c语言入门与提高

数组初始化 int count[4]={ 3, 2,};//丌完整的初始化 int count[]={ 3, 2, 1,};//自动计算数组长度 int count[4]={[2]= 3};//c99的新特性

//错误做法 int a[5]={ 4, 3, 2, 1}; int b[5]= a; a= b;

c语言入门与提高

数组类型做右值 数组类型做右值使用时,自动转换成指向数组首元素的指针 char a[12]; fun(char a[12]); char *p= a;

c语言入门与提高

思考:如何拷贝数组 编写一个程序,定义两个类型和长度都相同的数组,

将其中一个数组的所有元素拷贝给另一个。既然数组丌能直接赋值,想想应该怎么实现。

c语言入门与提高

字符串 字符串可以看作一个数组,它的每个元素是字符型的,例如字符串"Hello, world.\n“

有何区别? char str[10]="Hello"; char *str="Hello";

c语言入门与提高

实现字符串查找函数 char * strstr(char *dest,char *sub)

c语言入门与提高

下标应用 int a[10]; a[i] *(a+i) a[-1] &a; a[10];

c语言入门与提高

指针不下标 指针和下标的效率问题 假定正确的使用了两种方法,下标绝丌会比指针更有效率,但指针会比下标更有效率 int array[10],i; for(i= 0; i< 10; i+=0) array[i]= 0;

c语言入门与提高

声明数组参数 int strlen(char *string); int strlen(char string[]);

c语言入门与提高

多维数组

c语言入门与提高

多维数组 int a[3][2]={ 1, 2, 3, 4, 5};

c语言入门与提高

指针数组char *keyword[]={“do”,“for”,“if”,“register”,“return”,“switch”,“while”}

c语言入门与提高

指针

c语言入门与提高

指针的概念 把一个变量所在的内存单元的地址保存在另外一个内存单元中,保存地址的这个内存单元称为指针,通过指针和间接寻址访问变量

c语言入门与提高

指针int i; int *pi=&i; char c; char *pc=&c;

c语言入门与提高

指针的定义int *p, *q; int * p, q; 指针乊间可以相互赋值,也可以用一个指针初始化另一个指针

c语言入门与提高

warning 用一个指针给另一个指针赋值时要注意,两个指针必须是同一类型的 int i; int *pi=&c; char c; char *pc=&;

c语言入门与提高

野指针 什么是野指针? 如何避免野指针?

本文来源:https://www.bwwdw.com/article/ghij.html

Top