Re: [問題] 基因演算法的變數
看板C_and_CPP (C/C++)作者tsaiminghan (nahgnimiast)時間16年前 (2009/04/10 00:29)推噓0(0推 0噓 0→)留言0則, 0人參與討論串3/3 (看更多)
※ 引述《yaujack (大頭)》之銘言:
: 不好意思
: 再請教一個問題
: 我現在有個array[10][28]的二維陣列
: 假設他是10x28的矩陣好了, 這樣比較容易描述
: 有沒有甚麼方法可以把其中提取一個1x14的子矩陣傳入function呢?
: 因為要把它拆開成20個子矩陣分別傳入,
: 如果另外自己建立20個子矩陣再每個element分別處理實在太慢...
: 實在感謝了
一個很爛的例子。
#include <stdio.h>
#include <stdlib.h>
void aaa(int aaa[])
{
for(int i=0; i<3; i++)
{
printf("%d\n",aaa[i]);
}
}
void aaa2(int *aaa)
{
for(int i=0; i<3; i++)
{
printf("%d\n",*(aaa+i));
}
}
void main()
{
int bbb[2][6] = { {1,2,3,4,5,6}, {7,8,9,10,11,12}};
aaa(&bbb[0][0]);
aaa(&bbb[0][3]);
aaa(&bbb[1][0]);
aaa(&bbb[1][3]);
printf("=====\n");
aaa2(&bbb[0][0]);
aaa2(&bbb[0][3]);
aaa2(&bbb[1][0]);
aaa2(&bbb[1][3]);
system("pause");
}
--
一維對應二維
int aaa[2][4] = { {1,2,3,4}, {5,6,7,8}}
int *ptr = (int*)aaa;
printf("%d\n", *(ptr)); // 1
printf("%d\n", *(ptr + 1)); // 2
.
.
.
.
printf("%d\n", *(ptr + 6)); // 7
printf("%d\n", *(ptr + 7)); // 8
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.217.111.110
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章