在向量上插入新值(C语言)
我正在尝试创建一个函数来详细描述数组。我不知道如何在函数上输入向量或数组,然后返回修改后的向量/数组(我尝试使用指针) 这是可能的还是我用错了指针在向量上插入新值(C语言),c,function,pointers,function-pointers,C,Function,Pointers,Function Pointers,我正在尝试创建一个函数来详细描述数组。我不知道如何在函数上输入向量或数组,然后返回修改后的向量/数组(我尝试使用指针) 这是可能的还是我用错了指针 int newValue(int *p){ // modify the vector return p; } int main(){ int a[6]={4,6,7,3,1,8}; int *p; p = a; p = newValue (p); (这是转让: 给定一个VET_大小的整数元素数组:
int newValue(int *p){
// modify the vector
return p;
}
int main(){
int a[6]={4,6,7,3,1,8};
int *p;
p = a;
p = newValue (p);
(这是转让:
给定一个VET_大小的整数元素数组:
编写一个函数,在函数的特定索引中插入新值
数组,并向前移动以下元素,而不移动
删除现有值(最后一个元素的值除外)
我不知道如何在函数上输入向量或数组,然后重新调用修改后的向量(我尝试使用指针)
您只需传递数组本身,就可以在函数newValue
中直接修改它。大概是这样的:
void newValue(int *p, size_t n){
// modify the 2nd item
p[1] = 10;
}
然后在main
中调用它:
newValue(a);
几点注意:
- 您的
不需要返回任何内容(newValue
可以),因为您可以直接更改数组void
与void newValue(int*p,size\t n)
相同,因为数组void newValue(int p[],size\t n)
衰减到指针
- 通常,传递一个关于输入数组大小的附加参数
是很好的,这样您就可以在函数中检查以确保没有越界访问权限n