分类 十. C语言指针 下的文章

16.关于指针的总结

指针的数据类型: 定义 含义 int i; 定义整型变量i int *p p为指向整型数据的指针变量 int a[n]; 定义整型数组a,它有n个元素 int *p[n]; 定义指针数组p,它...

memory   2014-04-21  暂无评论

15.C语言main函数参数

前面介绍的main函数都是不带参数的。因此main 后的括号都是空括号。实际上,main函数可以带参数,这个参数可以认为是main函数的形式参数。C语言规定main函数的参数只能有两个,习惯上这两个参数写为argc和argv。因此,main函数的函数头可写为:     main (argc,argv) C语言还规定argc(第一个形参)必须是整型变量,argv(第二个形参...

memory   2014-04-21  暂无评论

14.C语言指向指针的指针

如果一个指针变量存放的又是另一个指针变量的地址,则称这个指针变量为指向指针的指针变量。在前面已经介绍过,通过指针访问变量称为间接访问。由于指针变量直接指向变量,所以称为“单级间址”。而如果通过指向指针的指针变量来访问变量则构成“二级间址”。 从下图可以看到,name是一个指针数组,它的每一个元素是一个指针型数据,其值为地址。Name是一个数据,它的每一个元素都有相应的地址。数组名name代表...

memory   2014-04-21  暂无评论

13.C语言指针数组的概念

一个数组的元素值为指针则是指针数组。指针数组是一组有序的指针的集合。 指针数组的所有元素都必须是具有相同存储类型和指向相同数据类型的指针变量。指针数组说明的一般形式为:     类型说明符 *数组名[数组长度] 其中类型说明符为指针值所指向的变量的类型。例如:     int *pa[3] 表示pa是一个指针数组,它有三个数组元素,每个元素值都是一个指...

memory   2014-04-21  暂无评论

12.C语言指针型函数

前面我们介绍过,所谓函数类型是指函数返回值的类型。在C语言中允许一个函数的返回值是一个指针(即地址),这种返回指针值的函数称为指针型函数。定义指针型函数的一般形式为:     类型说明符 *函数名(形参表) {          /*函数体*/     }  其中函数名之前加了“*”...

memory   2014-04-21  暂无评论

11.C语言函数指针变量

在C语言中,一个函数总是占用一段连续的内存区,而函数名就是该函数所占内存区的首地址。我们可以把函数的这个首地址(或称入口地址)赋予一个指针变量,使该指针变量指向该函数。然后通过指针变量就可以找到并调用这个函数。我们把这种指向函数的指针变量称为“函数指针变量”。函数指针变量定义的一般形式为:     类型说明符  (*指针变量名)(); 其中“类型说明符”表示被指...

memory   2014-04-21  暂无评论

10.C语言字符串指针变量与字符数组的区别

用字符数组和字符指针变量都可实现字符串的存储和运算。但是两者是有区别的。在使用时应注意以下几个问题:1) 字符串指针变量本身是一个变量,用于存放字符串的首地址。而字符串本身是存放在以该首地址为首的一块连续的内存空间中并以‘\0’作为串的结束。字符数组是由于若干个数组元素组成的,它可用来存放整个字符串。2) 对字符串指针方式     char *ps="C Language...

memory   2014-04-21  暂无评论

9.C语言字符串指针

在C语言中,可以用两种方法访问一个字符串。用字符数组存放一个字符串,然后输出该字符串。【例10-24】main(){ char string[]=”I love China!”; printf("%s\n",string); }说明:和前面介绍的数组属性一样,string是数组名,它代表字符数组的首地址。 用字符串指针指向一个字符串。【例10-25】main(){ ...

memory   2014-04-21  暂无评论

8.C语言指向多维数组的指针

本小节以二维数组为例介绍多维数组的指针变量。多维数组的地址设有整型二维数组a[3][4]如下: 0   1   2   3 4   5   6   7 8   9  10  11  它的定义为:     int a[3][4]={{0,1,2,3},{4,5,6,7},{8...

memory   2014-04-21  暂无评论

7.C语言数组名作函数参数

数组名可以作函数的实参和形参。如:main(){ int array[10]; /* …… */ /* …… */ f(array,10); /* …… */ /* …… */ } f(int arr[],int n); { /* …… */ /* …… */ }array为实参数组名,arr为...

memory   2014-04-21  暂无评论

6.C语言通过指针引用数组

C语言规定:如果指针变量p已指向数组中的一个元素,则p+1指向同一数组中的下一个元素。引入指针变量后,就可以用两种方法来访问数组元素了。如果p的初值为&a[0],则: p+i和a+i就是a[i]的地址,或者说它们指向a数组的第i个元素。 *(p+i)或*(a+i)就是p+i或a+i所指向的数组元素,即a[i]。例如,*(p+5)或*(a+5)就是a[5]。 指向数组的指针...

memory   2014-04-21  暂无评论

5.C语言数组指针

一个变量有一个地址,一个数组包含若干元素,每个数组元素都在内存中占用存储单元,它们都有相应的地址。所谓数组的指针是指数组的起始地址,数组元素的指针是数组元素的地址。一个数组是由连续的一块内存单元组成的。数组名就是这块连续内存单元的首地址。一个数组也是由各个数组元素(下标变量)组成的。每个数组元素按其类型不同占有几个连续的内存单元。一个数组元素的首地址也是指它所占有的几个内存单元的首地址。定义...

memory   2014-04-21  暂无评论

4.C语言指针变量的运算

指针变量可以进行某些运算,但其运算的种类是有限的。它只能进行赋值运算和部分算术运算及关系运算。指针运算符指针运算符有两种: 取地址运算符(&):取地址运算符(&)是单目运算符,其结合性为自右至左,其功能是取变量的地址。在scanf函数及前面介绍指针变量赋值中,我们已经了解并使用了&运算符。 取内容运算符(*):取内容运算符(*)是单目运算符,其结合性为自右至左...

memory   2014-04-21  暂无评论

3.C语言指针变量作为函数参数

函数的参数不仅可以是整型、实型、字符型等数据,还可以是指针类型。它的作用是将一个变量的地址传送到另一个函数中。【例10-3】题目同【例10-2】,即输入的两个整数按大小顺序输出。今用函数处理,而且用指针类型的数据作函数参数。swap(int *p1,int *p2){ int temp; temp=*p1; *p1=*p2; *p2=temp; } ...

memory   2014-04-21  暂无评论

2.C语言指针变量

变量的指针就是变量的地址。存放变量地址的变量是指针变量。即在C语言中,允许用一个变量来存放指针,这种变量称为指针变量。因此,一个指针变量的值就是某个变量的地址或称为某变量的指针。为了表示指针变量和它所指向的变量之间的关系,在程序中用“*”符号表示“指向”,例如,i_pointer代表指针变量,而*i_pointer是i_pointer所指向的变量。因此,下面两个语句作用相同:i=3; *i...

memory   2014-04-21  暂无评论