首页 > 代码库 > C基础复习
C基础复习
因为学习视频解码。不得不重新复习下C语言呢,3年都没碰了嘿嘿!
1、c与java不同它没有boolean和byte这2个基本类型,boolean在c中利用0和非0来代替,0为false,非0为true。byte为一个字节,在c中可以用char类型来代替。
C中各种基本类型所占的字节数:(利用sizeof得到的)
char 占1个字节 (java中2个字节)
short 短整型 2个字节
int 4个字节
long 占4个字节
double占8个字节
2、 c语言的输出占位符:
%d - int
%ld - long
%c - char
%f - float
%hd - short
%lf - double
%x - 16进制输出int或long、short
%o - 八进制输出
s% - 字符串输出
3 指针也是一种数据类型,指针是指向对象的在内存中的地址:&i代表的是i的地址(给指针赋值时用到),p的值就是i在内存中的地址,*p则是地址中的值,可以用数组的指针变量来访问数组:如下面程序运行:
int i = 10; int *p = &i; char a[3] = { ‘a‘, ‘b‘, ‘c‘ }; printf("i:%d \n", i); printf("p:%d\n" , p); printf("*p:%d \n", *p); printf("&i:%d \n", &i); printf("*(p+1):%d \n", *(p+1)); printf("*a:%c \n", *a); printf("*(a+1):%c \n", *(a + 1));
输出的结果为:
4 指针的指针,即多级指针。就是指针是个变量,它也有地址,指向指针变量的地址即为地址的地址,即二级指针变量。如下:
int i = 10; int *p = &i; int **c = &p; printf("%d\n",c); //c指针变量是地址的地址 printf("%d\n", *c); // *c为c指针变量地址里的值 printf("%d\n", **c);// *cc 是以c指针变量指向的地址的值为地址的值
5 通过指针来修改变量值:
int i = 10; int *p = &i; int **c = &p; **c = 4; printf("%d\n",i); //c指针变量是地址的地址
执行后i的值为4
C基础复习
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。