|
发表于 2020-5-10 21:07:44
|
显示全部楼层
给你两个程序,你来观察这两个程序的区别
注意,我把 test5 注释掉了,因为这个函数是错误的
- #include <stdio.h>
- #define LEN 5
- void test1(int data[]) {
- for(int i = 0; i < LEN; ++i)
- printf("%d ", data[i]);
- printf("\n");
- }
- void test2(int data[LEN]) {
- for(int i = 0; i < LEN; ++i)
- printf("%d ", data[i]);
- printf("\n");
- }
- void test3(int data[5]) {
- for(int i = 0; i < LEN; ++i)
- printf("%d ", data[i]);
- printf("\n");
- }
- void test4(int *data) {
- for(int i = 0; i < LEN; ++i)
- printf("%d ", data[i]);
- printf("\n");
- }
- int main(void) {
- int data[LEN] = {1, 2, 3, 4 ,5};
- test1(data);
- test2(data);
- test3(data);
- test4(data);
- return 0;
- }
复制代码
- #include <stdio.h>
- #define LEN 3
- void test1(int data[][5]) {
- for(int y = 0; y < LEN; ++y) {
- for(int x = 0; x < 5; ++x) {
- printf("%d ", data[y][x]);
- }
- printf("\n");
- }
- printf("\n");
- }
- void test2(int data[LEN][5]) {
- for(int y = 0; y < LEN; ++y) {
- for(int x = 0; x < 5; ++x) {
- printf("%d ", data[y][x]);
- }
- printf("\n");
- }
- printf("\n");
- }
- void test3(int data[3][5]) {
- for(int y = 0; y < LEN; ++y) {
- for(int x = 0; x < 5; ++x) {
- printf("%d ", data[y][x]);
- }
- printf("\n");
- }
- printf("\n");
- }
- void test4(int (*data)[5]) {
- for(int y = 0; y < LEN; ++y) {
- for(int x = 0; x < 5; ++x) {
- printf("%d ", data[y][x]);
- }
- printf("\n");
- }
- printf("\n");
- }
- /*
- void test5(int *data[5]) {
- for(int y = 0; y < LEN; ++y) {
- for(int x = 0; x < 5; ++x) {
- printf("%d ", data[y][x]);
- }
- printf("\n");
- }
- printf("\n");
- }
- */
- int main(void) {
- int data[LEN][5] = {
- {11, 12, 13, 14 ,15},
- {21, 22, 23, 24 ,25},
- {31, 32, 33, 34 ,35}
- };
- test1(data);
- test2(data);
- test3(data);
- test4(data);
- //test5(data);
- return 0;
- }
复制代码 |
|