c - Printing contents of matrix by using pointer -
यहाँ मेरा काम है: arrPrintMatrix (int * matrix, int m, int n): सामग्री की छापें मैट्रिक्स [मी] [एन] तालिका प्रारूप में।
और यहां मेरा कोड है:
#include & lt; stdio.h & gt; # शामिल करें & lt; malloc.h & gt; Int main () {शून्य arrPrintMatrix (int * मैट्रिक्स, int m, int n); इंट मैट्रिक्स [2] [3] = {{5, 10, 15}, {0, 2, 4}}; Int * ptr; Ptr = & amp; मैट्रिक्स [0] [0]; अर्रप्रिंटमैट्रिक्स (पीटीआर, 2, 3); वापसी 0; } शून्य arrPrintMatrix (int * matrix, int m, int n) {int i, j; के लिए (i = 0; i & lt; m; i ++) {printf ("\ n"); के लिए (जे = 0; जम्मू & lt; n; j ++) {printf ("% d \ t", मैट्रिक्स [i] + j); }}}
लेकिन जब मैं यह कोड चलाता हूं, मुझे पहली पंक्ति के रूप में 5 6 और 7 मिलता है, 10 11 और 12 दूसरी पंक्ति के रूप में। तो मैट्रिक्स [i] + j के साथ कुछ गलत है मुझे यह कैसे ठीक करना चाहिए?
वैसे भी, मैं संकेतकों, मॉलोक, फ़ंक्शन के संकेत के सरणियों के बारे में इतनी उलझन में हूँ, आम तौर पर मैं संकेतकों के बारे में उलझन में हूं मुझे खुशी होगी अगर आप उस बारे में कुछ वेब पेज या वीडियो का सुझाव देते हैं।
रेखा को बदलें
printf ("% d \ t", मैट्रिक्स [i] + j);
से
printf ("% d \ t", मैट्रिक्स [i * n + j]);
अपडेट
2 डी सरणियों की स्मृति का लेआउट अच्छी तरह से समझाया गया है।
Comments
Post a Comment