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

C语言怎么调用指针数组函数

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]...+阅读

C语言怎么调用指针数组函数

#include

#include

void paixu(char **a)

{

int i,j;

char *p;

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

{

for(j=0;j<4-i;j++)

{

if(strcmp(a[j],a[j+1])>0)

{

p=a[j];

a[j]=a[j+1];

a[j+1]=p;

}

}

}

}

void main()

{

char *a[]={"Hongkong",

"Singgapore",

"Beijing",

"London",

"Washington"

};

int i;

printf("输出地址\n\n");

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

{

printf("%s \n",a[i]);

}

paixu(a);

printf("最终排序是\n\n");

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

{

printf("%s \n",a[i]);

}

}

main函数中a是常指针,它指向一组数组,这组数组每个元素又是指向字符串的指针,所以数组中每个元素的类型是char* , 因此变量a的类型是(char*)*,即char**.排序没有必要返回char吧(完成排序功能还用返回一个字符么?),函数参数改为char**类型,这样才能将指针数组首地址传入函数.

向函数里传入的是数组指针,我更改的是数组元素,这是明显的按地址传递方式传递参数,还用再return么.

指向函数指针数组的指针怎么使用

自定义一个函数,返回指向char类型数组的指针如下:

char* MultMatrix( )

{

char*M = new char[4];

M[0]='a';

M[1]='b';

M[1]='c';

M[3]='d';

cout << M[0] << " " << M[1] << endl;//输出返回前的数组

cout << M[2] << " " << M[3] << endl;

return M;

}

将这个函数放在程序中运行,如实例。

实例:

#include using namespace std; char* MultMatrix( ) { char*M = new char[4]; M[0]='a'; M[1]='b';

关于用指针指向数组

两者都是指针,但指向的数据类型完全不同。

p1指向的是整数,这好理解。

p2指向的是长度为10的数组。

p1 = a是完全没有问题的。

p2 = a其实是做了自动类型转换的,通常会有警告(在某些编译器上甚至通不过)。

虽然p1 = a,p2 = a后,*p1是一个整数,*p2是一个数组的地址(在这里是a);

p1 ++ 将使p1指向a[0]后面的一个整数。

而p2 ++ 将是p2指向a后面的一个数组。

像p2这样指向数组的指针通常用于2维数组。

比如b[3][10];

那么p2 = b后,*p, *(p+1), *(p+2)分别是b[0], b[1], b[2]。

利用p++可以遍历这些长度为10的数组。

怎么使用数组和指针

指针数组:指针的数组,数组的元素是指针;int *p[2]; 首先声明了一个数组,数组的元素是int型的指针,这个数组的元素是p[0], p[1]两个整形指针数组指针:指向数组的指针。int s[2], *p; p = s; 这个数组的元素是2个整型数 在类中定义一个数组的格式为:(类型)(数组名)[下标].但有一点要注意:如果类外要用到该数组(如对数组进行赋值),则类中该数组的访问控制符应为:public.在主函数中对某个类中的数组进行赋值应该先创建该类的对象,然后以"对象名.数组名[下标]"的格式对数组赋值,输出同样以该格式.下面给一个示例:#includeclass Demo{public: //此题这里必须为public int t[5];};

延伸阅读:

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" #define N 4 void main() { long num[N]; float score[N],sum=0,average; int a,b,i,j; printf("please input student number:\n"); for(i=0;i scanf("%ld",&...

数组排序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];...

用C语言编写函数用C语言编写函数,中国军衔里麦穗领花代表什么?星星梅花又代表什么:/* 1-1/2+1/3-1/4+……+pow(-1,n)*1/n */#include#includevoid JiSuan(int);main(){ int n; printf("n="); sca...

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

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