[c + +] 배열 되 돌리 기
사실 vector 를 지원 한다 면 인용 만 하면 됩 니 다.
void testFun(vector<int> &var)
1. 함수 포인터 되 돌리 기
http://www.cnblogs.com/gisbeginner/archive/2012/10/30/2746313.html
c + + 에 서 는 함수 의 반환 값 으로 배열 을 허용 하지 않 습 니 다.
int [] someFunction( ); //ILLEGAL
함수 가 배열 로 되 돌아 가 려 면 해당 배열 의 형식 에 대한 지침 을 되 돌려 주어 야 합 니 다 you must return a pointer to the array base type and have the pointer point to the array. So, the function declaration would be as follows:
int* someFunction( ); //Legal
int* doubler( int a[], int size)
{
int* temp = new int[size];
for ( int i =0; i < size; i++)
temp[i] = 2*a[i];
return temp;
}
int main(){
int a[] = {1, 2, 3, 4, 5};
int* b;
b = doubler(a, 5);
delete[] b
return 0;
}
2.
void doubler( int* a, int size)
{
for ( int i =0; i < size; i++)
a[i]=0;
}
int main(){
int a[5];
doubler(a, 5);
return 0;
}
2 차원 배열
#include <iostream>
using namespace std;
void property(int shape[4][4])
{
shape[0][0]=1;
}
int main()
{
int shape[4][4];
property(shape);
cout<<shape[0][0];
return 0;
}
#include <iostream>
using namespace std;
void property(int (*shape)[4])
{
shape[0][0]=1;
}
int main()
{
int shape[4][4];
property(1,shape);
cout<<shape[0][0];
return 0;
}
void fun2(int **ga,int m,int n)
{
ga=new int*[m];
for(int i = 0; i < m; i++)
ga[i] = new int[n];
}
int** newArray(int m,int n)
{
int** array=new int*[m];
for(int i = 0; i < m; i++)
array[i] = new int[n];
return array;
}
int main()
{
int **shape;
int m,n;
m=2;n=4;
shape=newArray(m,n);
for(int i = 0; i < m; i++)
delete []shape[i];
delete []shape;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.