数组和指针作为函数的参数

                                                  数组作为函数的参数

注意:当数组作为函数的实参时,只传递数组的地址,而不是将整个数组赋值到函数中,当用数组名作为实参调用函数时,指向该数组的第一个元素的指针就被传递到了函数中

C语言中没有下标的数组而是一个指向该数组第一个元素的指针 其实说的就是数组第一个元素的地址

如 int count [10];        count 就等同于 *count 都表示count数组 第一个元素的地址

1.数组的元素作为函数的参数 (需要用for循环来对数组中的元素进行遍历 让每一个元素都传入函数中)

时间: 2024-12-25 08:18:38

数组和指针作为函数的参数的相关文章

[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 ++) 1

C基础--函数指针作为函数的参数

#include <stdio.h> int add(int a, int b) { printf("%d\t%d\n", a, b); return a+b; } char max_ch(char *str) { int max, i; max = 0; for (i = 0; str[i] != '\0'; i++) if (str[i] > str[max]) max = i; return str[max]; } int main1(void) { int r

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

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

数组,指针,函数

学c语言就知道数组.指针在c中有着特殊的地位.而且是必须掌握的一项知识,学会它会让你受益无穷. 一.数组 1.数组:室友一系列相同元素构成的.它连续的存储在内存中. 2.数组的声明: 格式:   类型 数组名 [元素个数]: 例 : int myarray[10]; 注意:在c99之前不允许出现元素个数为变量的情况. 例: int n = 10: int myarray[n];     // C99之前不允许(这种声明方式不允许被初始化) 3.数组的初始化: int myarray[] = {1

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

指向指针的指针做函数的参数(转载)

一. 回顾指针概念:  今天我们又要学习一个叫做指向另一指针地址的指针.让我们先回顾一下指针的概念吧!  当我们程序如下申明变量:  short int i; char a; short int * pi; 程序会在内存某地址空间上为各变量开辟空间,如下图所示.  内存地址→6     7      8     9     10     11    12    13     14    15  ---------------------------------------------------

二级指针做函数输入参数

在主调用函数中分配内存: 1 char **myarray = (char **)malloc(10*sizeof(char *)); 2 if (myarray == NULL) 3 { 4 return -1; 5 } 6 for (i=0; i<10; i++) 7 { 8 myarray[i] = (char *)malloc(100); 9 } 释放内存: 1 for(i=0; i<10; i++) 2 { 3 free(myarray[i]); 4 } 5 if (myarray)

网易云课堂_C语言程序设计进阶_第二周:指针:取地址运算和指针、使用指针、指针与数组、指针与函数、指针与const、指针运算、动态内存分配_2信号报告

2 信号报告(5分) 题目内容: 无线电台的RS制信号报告是由三两个部分组成的: R(Readability) 信号可辨度即清晰度. S(Strength)    信号强度即大小. 其中R位于报告第一位,共分5级,用1—5数字表示. 1---Unreadable 2---Barely readable, occasional words distinguishable 3---Readable with considerable difficulty 4---Readable with prac