1.
#include "stdio.h"
int main() {
char str[] = "hello";
char *s = "hello";
int a[] = {3, 5, 7};
printf("%d\n%d\n%d\n", sizeof(str), sizeof(s), sizeof(a));
return 0;
}
//输出6, 4, 12
sizeof(str)=6 str是数组,sizeof得到的是它的内存空间大小,hello串有一个结束符,共6位
sizeof(p)=4 p是指针,所有的指针都占32bit/8=4字节
sizeof(a)=12 整形int占4字节,
2.
main() {
char str[]="S\065AB";
printf("\n%d", sizeof(str));
}
//输出5
\0是八进制0 ,即S,\065,A,B,NULL
3.
int a[3]; //12
int b[3][4]; //48
int *c[4]; //16
int(*d)[4]; //4
int **e; //4
int **f[3]; //12
int **g[3][4]; //48
时间: 2024-10-15 06:43:45