69,369
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <typeinfo.h>
int main() {
int sa[3][4];
int **db;
int j,k;
for (j=0;j<3;j++) {
for (k=0;k<4;k++) {
sa[j][k]=j*10+k;
}
}
for (j=0;j<3;j++) {
for (k=0;k<4;k++) {
printf(" %3d",sa[j][k]);
}
printf("\n");
}
printf("typeid(sa[0] ).name() is %s\n",typeid(sa[0] ).name());
printf("typeid(sa ).name() is %s\n",typeid(sa ).name());
printf("\n");
db=(int **)malloc(3*sizeof(int *));
if (NULL==db) return 1;
for (j=0;j<3;j++) {
db[j]=(int *)malloc(4*sizeof(int));
if (NULL==db[j]) return 1;
}
for (j=0;j<3;j++) {
for (k=0;k<4;k++) {
db[j][k]=j*10+k;
}
}
for (j=0;j<3;j++) {
for (k=0;k<4;k++) {
printf(" %3d",db[j][k]);
}
printf("\n");
}
printf("typeid(db[0] ).name() is %s\n",typeid(db[0] ).name());
printf("typeid(db ).name() is %s\n",typeid(db ).name());
printf("\n");
for (j=0;j<3;j++) {
free(db[j]);
}
free(db);
return 0;
}
// 0 1 2 3
// 10 11 12 13
// 20 21 22 23
//typeid(sa[0] ).name() is int [4]
//typeid(sa ).name() is int [3][4]
//
// 0 1 2 3
// 10 11 12 13
// 20 21 22 23
//typeid(db[0] ).name() is int *
//typeid(db ).name() is int * *
//
//
#include <stdio.h>
int sun(int *a, int size)
{
int i, sum = 0;
for(i=0; i<size; i++) sum += a[i];
return sum;
}
int main(void)
{
int sum[3][4] = {1,1,1,1,1,1,1,1,1,1,1,1};
printf("%d\n", sun((int *)sum, 12));
return 0;
}