संभव डुप्लिकेट ग में सूचक के माध्यम से एक 2 डी सरणी पारित करने के लिए:
Passing a pointer representing a 2D array to a function in C++कैसे
मैं सूचक के माध्यम से एक समारोह के लिए अपने 2-आयामी सरणी पारित करने के लिए कोशिश कर रहा हूँ और संशोधित करना चाहते हैं मूल्य।
#include <stdio.h>
void func(int **ptr);
int main() {
int array[2][2] = {
{2, 5}, {3, 6}
};
func(array);
printf("%d", array[0][0]);
getch();
}
void func(int **ptr) {
int i, j;
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
ptr[i][j] = 8;
}
}
}
लेकिन कार्यक्रम इस के साथ दुर्घटनाओं। मैंने गलत क्या किया?
उचित प्रकार का प्रयोग करें, 'शून्य समारोह (पूर्णांक (* पीआरटी) [2]) ', या पॉइंटर्स की एक सरणी पास करें। –
[मैं सी ++ में सरणी का उपयोग कैसे करूं?] (Http://stackoverflow.com/q/4810664/1202636) – effeffe
Arrays पॉइंटर्स नहीं हैं। पॉइंटर्स सरणी नहीं हैं। आपने जो किया वह गलत नहीं है जब तक कि आप इसे संदेह नहीं करना बंद कर देते हैं। –