范文无忧网范文学习范文大全

指针数组函数的用法

09月21日 编辑 fanwen51.com

[c语言中的数组排序]#include #include int numSort(int *a,int count_num) { int i,j,min=-1,temp; for(j=count_num-1;j>0;j--) for(i=j-1;i>=0;i--) if(a[j] > a[i]) { temp=a[i]; a[i]=a[j]...+阅读

指针数组函数的用法

请参考:

#include

const int fun1(int a,int b)

{

return a+b;

};

const int fun2(int a,int b)

{

return a-b;

};

typedef const int (* Fun)(int a,int b); //把 int 返回值 两个int参数的函数定义成Fun函数指针类型

int main()

{

Fun f[2]={fun1,fun2}; //形式相同的函数指针数组,方便函数的统一管理

int temp[2];

/*

int i;

for(i=0;i<2;i++)

temp[i]=f[i](1,1);

*/

temp[0]=f[0](3,6);

temp[1]=f[1](7,4);

printf("%d %d\n",temp[0],temp[1]);

return 0;

}

指向数组指针的运用

//定义指针数组(而不是数组指针)

//所谓指针数组就是"它是一个数组,它的每个元素是指针"

//所谓数组指针就是"它是一个指针变量,它指向一个数组的首地址"

typedefint*PointerArray10[10];

PointerArray10Data[3];

//可以理解Data为int*Data[3][10];

//可以直接赋值:

intTestData=32;//用来测试的数据

Data[1][2]=&TestData;//因为Data是指针数组,所以给它的元素赋指针

//我们来验证上面的赋值

PointerArray10*pWork=Data;//定义PointerArray10类型的指针指向Data

//因为Data为数组,所以直接用Data数组名是表示它的首地址

pWork++;//让pWork指向Data[1]首地址;

printf("Data[1][2]=[%d]\n",(*pWork)[2]);

//用int*来验证

int**pWork2=&(Data[0][0]);//定义int类型的指针指向Data第0行第0列元素,因为

//该元素是整型指针,所以应该定义指向整型指针的指针,在C语言中数组是按行存放的

//Data有3行(0~2),每行10列(0~9),所以要得到第1行第2列的数据需要将pWork2移动

//1行*10个元素/行+第2列(即计算[1][2]元素对Data[0][0]偏移量

pWork2=pWork2+1*10+2;

printf("Data[1][2]=[%d]\n",**pWork2);

c指针数组怎么用

指针数组,是指一个数组里面装着指针;

一下是指针数组的使用案例:

#include "stdafx.h"

#include

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

int *ptr[5]; //指针数组

int p = 5, p2 = 8, *page, *page2;

page = &p;

page2 = &p2;

ptr[0] = &p;

ptr[1] = page2;

cout << *ptr[0] << endl;

cout << *page << endl;

cout << *ptr[1] << endl;

return 0;

}

运行结果:

C指针数组是什么?怎么用

指针数组

主要用来指向若干字符串,使字符串的处理更加灵活。同时,我们应该清楚知道,字符串本身就是一个一维数组。

对于指针数组应注意以下几点:

(1):数组中的元素均为指针类型数据

(2):在给数组赋值时,表面看到是比如字符串等,但实际数组元素本身的值并不是字符串,而是字符串的首地址

eg.

main()

{

void sort(char *name[],int n);

char *name[]={"Follow me","The C language","Great Wall","How to inprove your programming technice"};

//这里返回指针值的数组name[]各元素的值并不是以上这些字符串,而是这些字符串的首地址

......

}

延伸阅读:

C语言数组排序#include<stdio.h> void main() { int a[10] = { 10,2,3,4,5,6,9,8,7,1 }; int i,j,t; for(j=0;j<10;j++) for(i=0;i<10-1-j;i++) if(a[i]>a[i+1]) /* 由小到大,由大到小时改...

数组排序C语言#include <stdio.h> #include <iostream.h> #include <stdlib.h> #include<time.h> void main() { int a[100],i,c,b,d,e,n; cin>>n; srand((unsigned)time(NULL)); for(i=0...

C语言数组排列怎么做最常用的就是冒泡排序的方法了。 比如对10个数字进行排序,则程序是这样的 #include<stdio.h>void main(){int a[10];int i,j, t;printf("输入十个数字:\n");for(i=0;i<=9;i++){sca...

C语言中数组的排序方法中选择排序的原理是,每次从待排序数字中挑选出最大(最小)数字,放在有序序列的末尾。实际操作中,只需要在这个数组中将挑出来的数字与前面的数字交换即可。 例如: 4 1 5 2 3 找到最小...

C语言数组排序方法像是选择法排序,但不太简练! 正确的选择法为: #include <stdio.h> void main(void) { int a[9]={3,42,55,546,43,323,54,121,32},i,j,l,temp; for(i=0;i<9;i++) for(j=i+1;j<8;...

c语言整数数组排序#include"stdio.h" #define N 10 void sort(int a[],int method) { int i,k,t,j; switch(method) { case 1: for(i=0;i<N;i++) { for(j=0;j<N;j++) { if(a[j]>a[i]) { t=a[i];...

excel函数IF的用法IF 请参阅 执行真假值判断,根据逻辑计算的真假值,返回不同结果。 可以使用函数 IF 对数值和公式进行条件检测。 语法 IF(logical_test,value_if_true,value_if_false) Logical...

如何创建ArrayList数组如何创建ArrayList数组,用ArrayList的方法实现:使用一个数组储存ArrayList的元素:ArrayList 可以方便的实现列表操作, 但有时候需要建立一个ArrayList数组. 首先想到的是类似下...

C语言问题利用指针方法如何引导学生分析文本的篇章结构:基本解释 1、指针的本质是一个与地址相关的复合类型,它的值是数据存放的位置(地址);数组的本质则是一系列的变量。 2、数组名对应着(而不是指向)一...

推荐阅读
图文推荐
栏目列表