[C++程序设计]用指向数组的指针作函数参数

 1 #include <iostream>
 2 using namespace std;
 3
 4 int main()
 5 {
 6     void output(int (*p)[4]);
 7     int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};
 8     output(a);
 9     return 0;
10 }
11
12 void output(int (*p)[4])
13 {
14     int i,j;
15     for(i = 0; i < 3; i ++)
16         for(j = 0; j < 4; j ++)
17             cout << *(*(p + i) + j) << " ";
18     cout << endl;
19 }

[C++程序设计]用指向数组的指针作函数参数

时间: 2024-11-06 23:26:28

[C++程序设计]用指向数组的指针作函数参数的相关文章

C++中用指向二维数组的指针作函数参数

举例说明: 函数声明:void Fun(int (*p)[4] ); void Fun(int (*p)[4] ) {  int i=0,j=0;  for(i=0;i<4;i++)   for(j=0;j<4;j++)      cout << *(*(p+i)+j) << endl;    } p是指向a[0]的指针,那么p+i就是指向a[i]的指针,*(p+i)就是指向a[i][0]的指针, 那么*(p+i)+j就是指向a[i][j]的指针,所以*(*(p+i)+

指向数组的指针做函数参数练习----打印不及格学生成绩

输出不及格学生的序号以及他们的所有成绩. #include <stdio.h> int main(){ void search(float (* p)[4]); //数组表示3名学生的4门课的成绩,本程序要找到有不及格课程 //的学生序号,并打印出来他们的所有成绩 float score[3][4]={{5,67,89,78}, {34,78,90,78}, {89,87,98,90}}; search(score); } void search(float (* p)[4]){ for(in

指向结构体变量的指针作函数参数

 /********************* * 指向结构体变量的指针作函数参数 * ***********************/ #include<stdio.h> #include<string.h> struct student {  int num;  char name[20];  //char *name;    //若定义为指针则应与下面 stu.name = "jacob"; 配对使用,交叉使用则会报错                 //

数组和指针作为函数参数——高质量C、C++编程指南

本文内容出自<高质量C.C++编程指南>.阅读之后理解,然后通过自己的话和例子讲清楚,这样才是学习之道.以下内容都是自己所认为的东西,如果哪里错了,希望各位大神指出. 1.数组作为函数的参数进行传递时,该数组自动退化为同类型的指针 结果: 第一张图中,str为数组,此时的长度为6,而作为函数参数时退化为指针了,指针的长度固定为4. 第一张图中,str为数组,所以不能对str进行自增或自减,而在函数中是可以的,因为退化为指针了,而指针时可以进行自增自减的. 2.指针参数是如何传递内存的 传递方式

用指向函数的指针作函数参数

函数指针变量通常的用途之一,是把指针作为参数传递到其他函数. 调用函数指针的例子: int locateElem(LinearList *pL, ElemType e, int (*compare)(ElemType*, ElemType*)) 其中 compare 是函数指针名,(ElemType*, ElemType*)是函数指针的参数. 调用函数指针的例子: if ((*compare)(&e1, &e2) == 0) return i; 参数 &e1 和 &e2 是

不理解为什么调用一级指针作函数参数时候,就不能把myp1 = NULL,

产生野指针原因的本质:指针变量和它所指内存空间变量是两个不同的概念. 解决办法:三步曲 1.定义指针时,把指针变量赋值成NULL 2.释放内存时,先判断指针变量是否为NULL 3.释放完内存后,把指针变量重新复制成NUL #define  _CRT_SECURE_NO_WARNINGS #include <stdlib.h>#include <string.h>#include <stdio.h> //你上面分配内存,总得给释放掉 二级指针法 int  getMem_f

结构体指针作函数参数(C# 调用C++ 的DLL)

1.C++结构体定义: #pragma pack(1) struct Person {     #define Count_favoriteNumbers 6      int id;      float favoriteNumbers[Count_favoriteNumbers]; }; #pragma pack()        // #pragma pack(1) end C++ 导出函数: #define DllExport extern "C" __declspec(dll

C语言数组指针(指向数组的指针)

注意:数组指针的定义,与指针数组的区别 转载:http://c.biancheng.net/cpp/biancheng/view/162.html 指向多维数组元素的指针变量 ① 指向数组元素的指针变量[例6.7]输出二维数组各元素的值.这里采用的方法是用基类型为整型的指针变量先后指向各元素,逐个输出它们的值. #include <iostream> using namespace std; int main( ) { int a[3][4]={1,3,5,7,9,11,13,15,17,19

[C++程序设计]用指针变量作函数参数接收数组地址

1 #include <iostream> 2 using namespace std; 3 4 void select_sort(int *p, int n) 5 { 6 int i, j, k; 7 for(i = 0; i < n - 1; i++) 8 { 9 for(j = i + 1; j < n; j++) 10 { 11 if(p[i] > p[j]) 12 { 13 k = p[i]; 14 p[i] = p[j]; 15 p[j] = k; 16 } 17