C语言中向一个函数传递一个数组,函数中定义一个指针变量,请问这个指针变量在for循环中要怎么使用?
发布网友
发布时间:2022-07-12 23:38
我来回答
共5个回答
热心网友
时间:2023-10-21 08:34
指针传递到函数后,函数可以像用数组一样使用它,比如你传入的是int *a,如果数组大小为n,那么就可以
for(int i=0;i<n;i++)
dd = a[i];
来访问数组中的元素值了!
热心网友
时间:2023-10-21 08:35
void
fun(a,10)
将数组a的首地址赋给指针s
{
int
i;
i
计的是这数组中有几个字母
for
(;*s;s++)
每循环一次,s后移一位,判断结束循环的条件s指向的内容为"
\0
"
{
if(*s>='a'&&*s<='z'||*s>='A'&&*s<='Z')
i++;
}
热心网友
时间:2023-10-21 08:35
void fun(a,10) 将数组a的首地址赋给指针s
{
int i; i 计的是这数组中有几个字母
for (;*s;s++) 每循环一次,s后移一位,判断结束循环的条件s指向的内容为" \0 "
{
if(*s>='a'&&*s<='z'||*s>='A'&&*s<='Z')
i++;
}
热心网友
时间:2023-10-21 08:36
给你写了一个例子:
#include "stdio.h"
void printArr(int *p,int n)
{
int i=0;
for(i=0;i<n;i++)
printf("%d ",*(p+i));
}
void main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
printArr(a,10);
}追问麻烦您讲一下补充的那个例子,尤其是for循环那块
追答for(i=0;i<n;i++)
printf("%d ",*(p+i));
printArr(a,10);//在main函数中这样调用时,将数组的首地址(也就是数组名)a传递给void printArr(int *p,int n),在函数printArr中,使用指针p指向数组首地址
在for循环里,通过下标偏移的方式访问,例如*(p+i)也就等于p[i]
热心网友
时间:2023-10-21 08:36
传递数组的时候,要顺便传递那个数组的大小的(元素个数)。。