69,382
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <typeinfo.h>
int main() {
int sa[4];
int *db;
int k;
for (k=0;k<4;k++) {
sa[k]=k;
}
for (k=0;k<4;k++) {
printf(" %3d",sa[k]);
}
printf("\n");
printf("typeid(sa ).name() is %s\n",typeid(sa ).name());
printf("\n");
db=(int *)malloc(4*sizeof(int));
if (NULL==db) return 1;
for (k=0;k<4;k++) {
db[k]=k;
}
for (k=0;k<4;k++) {
printf(" %3d",db[k]);
}
printf("\n");
printf("typeid(db ).name() is %s\n",typeid(db ).name());
printf("\n");
free(db);
return 0;
}
// 0 1 2 3
//typeid(sa ).name() is int [4]
//
// 0 1 2 3
//typeid(db ).name() is int *
//
//
#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>
#include <stdlib.h>
#include <malloc.h>
#include <typeinfo.h>
int main() {
int sa[2][3][4];
int ***db;
int i,j,k;
for (i=0;i<2;i++) {
for (j=0;j<3;j++) {
for (k=0;k<4;k++) {
sa[i][j][k]=i*100+j*10+k;
}
}
}
for (i=0;i<2;i++) {
for (j=0;j<3;j++) {
for (k=0;k<4;k++) {
printf(" %3d",sa[i][j][k]);
}
printf("\n");
}
printf("----------------\n");
}
printf("typeid(sa[0][0]).name() is %s\n",typeid(sa[0][0]).name());
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(2*sizeof(int **));
if (NULL==db) return 1;
for (i=0;i<2;i++) {
db[i]=(int **)malloc(3*sizeof(int *));
if (NULL==db[i]) return 1;
for (j=0;j<3;j++) {
db[i][j]=(int *)malloc(4*sizeof(int));
if (NULL==db[i][j]) return 1;
}
}
for (i=0;i<2;i++) {
for (j=0;j<3;j++) {
for (k=0;k<4;k++) {
db[i][j][k]=i*100+j*10+k;
}
}
}
for (i=0;i<2;i++) {
for (j=0;j<3;j++) {
for (k=0;k<4;k++) {
printf(" %3d",db[i][j][k]);
}
printf("\n");
}
printf("----------------\n");
}
printf("typeid(db[0][0]).name() is %s\n",typeid(db[0][0]).name());
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 (i=0;i<2;i++) {
for (j=0;j<3;j++) {
free(db[i][j]);
}
free(db[i]);
}
free(db);
return 0;
}
// 0 1 2 3
// 10 11 12 13
// 20 21 22 23
//----------------
// 100 101 102 103
// 110 111 112 113
// 120 121 122 123
//----------------
//typeid(sa[0][0]).name() is int [4]
//typeid(sa[0] ).name() is int [3][4]
//typeid(sa ).name() is int [2][3][4]
//
// 0 1 2 3
// 10 11 12 13
// 20 21 22 23
//----------------
// 100 101 102 103
// 110 111 112 113
// 120 121 122 123
//----------------
//typeid(db[0][0]).name() is int *
//typeid(db[0] ).name() is int * *
//typeid(db ).name() is int * * *
//
//