C语言数组与指针
2017-07-09 15:55
267 查看
#include <stdio.h>
int main (){
char c = 'h';
char str[]="str1"; //定义字符串
char *p="this is str2"; //编译器先给字符串一个地址,然后让p指向这个地址
int *n,a=10;
double *d,b=10.2;
char *cc,aa='n';
n=&a;
d=&b;
cc=&aa;
printf("str:%s\np:%s\n",str,p);
printf("不同类型指针分配的空间:\n%d\n%d\n%d\n%d\n",sizeof(p),sizeof(n),sizeof(d),sizeof(cc));
printf("空间大小:\ndouble:%d\nint:%d\nchar:%d\n",sizeof(b),sizeof(a),sizeof(aa));
printf("存放地址:\n char c:%p\n char str[] :%p\n char *p:%p \n int *n:%p\n",&c,&str,&p,&n);
printf("存放地址:\n int a:%p\n double b :%p\n char aa:%p \n ",&a,&b,&aa);
return 0;
}
/******************************************************************
1.c语言通过 字符数组 或 字符指针 来定义字符串
2.c语言给所有指针的内存空间大小都是相同的(待考证)
3.指针只能先定义后赋值
******************************************************************/
github:https://github.com/comeonjy/c
int main (){
char c = 'h';
char str[]="str1"; //定义字符串
char *p="this is str2"; //编译器先给字符串一个地址,然后让p指向这个地址
int *n,a=10;
double *d,b=10.2;
char *cc,aa='n';
n=&a;
d=&b;
cc=&aa;
printf("str:%s\np:%s\n",str,p);
printf("不同类型指针分配的空间:\n%d\n%d\n%d\n%d\n",sizeof(p),sizeof(n),sizeof(d),sizeof(cc));
printf("空间大小:\ndouble:%d\nint:%d\nchar:%d\n",sizeof(b),sizeof(a),sizeof(aa));
printf("存放地址:\n char c:%p\n char str[] :%p\n char *p:%p \n int *n:%p\n",&c,&str,&p,&n);
printf("存放地址:\n int a:%p\n double b :%p\n char aa:%p \n ",&a,&b,&aa);
return 0;
}
/******************************************************************
1.c语言通过 字符数组 或 字符指针 来定义字符串
2.c语言给所有指针的内存空间大小都是相同的(待考证)
3.指针只能先定义后赋值
******************************************************************/
github:https://github.com/comeonjy/c
相关文章推荐
- C语言之指针、数组和函数
- C语言多维数组指针的技巧
- C语言专题――数组与指针
- C语言之指针、数组和函数
- C语言中指针和数组名小趣
- 浅谈C语言中数组和指针的互操作
- C语言之指针、数组和函数
- C语言之指针、数组和函数
- C语言中字符数组和字符串指针分析
- C语言之指针、数组和函数
- 再谈C语言中数组和指针之间的互操作
- C语言中的指针,数组,指针数组, 数组形式参数
- 水滴石穿C语言之指针、数组和函数(转载)
- 水滴石穿C语言之指针、数组和函数
- c语言学习零碎整理(7):数组名是指针吗?(补)
- C语言的指针和数组
- (C语言)数组与指针的使用
- C语言中字符数组和字符串指针分析
- 水滴石穿C语言之指针、数组和函数
- C语言数组和指针的剖析