不能。C 語言陣列參數退化為指標,編譯期僅保留位址與型別資訊,元素無「變數名」概念,運行期更無法透過名稱存取。
struct {char* key; int val;} map[]) 模擬。// 1. 傳遞陣列首址 + 長度
void process(int arr[], int len); // 或 void process(int *arr, int len)
// 2. 主程式呼叫
int data[10] = {1,2,3};
process(data, 10);
// 3. 函數內部只能用下標
void process(int arr[], int len) {
for (int i=0; i
typedef struct { int id; char name[20]; float score; } Student;
void printStudent(Student s); // 透過欄位名存取