// java数据类型 和长度int 4个字节 double 8个字节 float 4个字节 long 8个字节 // short 2个字节 boolean 1个字节 char 2个字节 byte 1个字节 // char, int, float, double, signed, unsigned, long, short and void // c语言中 数据类型比java少一些 在c语言中没有 boolean类型的数据 int 1 代表真 0 代表假 // c 语言中没有String类型的数据 java中表示一个字符串 String , c语言中表示字符串 通过char类型的数组来表示字符串 // c 语言没有byte类型 所有用char的类型表示byte类型 #include <stdio.h> #include <stdlib.h> // sizeof(); c语言的一个函数 可以把 某种数据类型的长度获取出来 int main() { // %d 类似sql语句的? 占位符 printf("char的长度为%d ", sizeof(char)); printf("int的长度为%d ", sizeof(int)); printf("float的长度为%d ", sizeof(float)); printf("double的长度为%d ", sizeof(double)); printf("long的长度为%d ", sizeof(long)); printf("short的长度为%d ", sizeof(short)); //signed, unsigned, 数据类型的修饰符 // signed int ; 代表的是有符号的int的数据 // unsigned int ; 无符号的int数据 printf("signed int的长度为%d ", sizeof( signed int)); printf("unsigned int的长度为%d ", sizeof( unsigned int)); // 符号的修饰符 只能修饰 整数类型的数据 long int // 不能修饰 浮点型的数据 float double // printf("signed float的长度为%d ", sizeof( signed float)); system("pause"); // 调用windows下系统的命令 让程序暂停执行 方便观察程序的执行结果 }
/*%d - int %ld – long int %c - char %f - float %lf – double %x – 十六进制输出 int 或者long int 或者short int %o - 八进制输出 %s – 字符串 Int len; Scanf(“%d”,&len);*/ #include <stdio.h> // java import xxx.xx.pack 引用函数的声明 #include <stdlib.h> main() // 程序的入口函数 { int i = 3; float f = 3.1415; double d = 6.2815; char c = 'A'; //通过单引号定义字符 short s = 2; printf("int i=%d ",i); printf("float f=%f ",f); printf("char c=%c ",c); printf("double d=%lf ",d); printf("short s=%d ",s); /*char arr[20] ; //定义一个长度为20的数组 scanf("%s",arr); // 从键盘接受一个字符串,放在c数组里面 printf("s =%s ",arr); */ int j ; scanf("%d", &j);//&代表的是取地址 printf("j=%d ",j); system("pause"); // 调用windows下系统的命令 让程序暂停执行 方便观察程序的执行结果 }
#include <stdio.h> #include <stdlib.h> main() { // 所有的变量都会分配一块内存空间 // 指针就是用来表示一块内存空间的地址的 // 地址可以用过 &这个符号获取到某个变量的在内存中的地址 // 这个地址如果想把他存放起来 就需要有一个变量 去存放这个地址 // 存放内存地址的变量 就是指针变量 // 指针和指针变量 // 指针是用来表示一块内存地址的, // 指针变量是用来存放一个内存地址的 . // printf("ready go! 剩余时间60秒 "); int time = 60; printf("time变量对应的内存地址为%#X ", &time); for(;time>0;time--){ printf("剩余时间%d ",time); sleep(4000); } printf("游戏结束"); system("pause"); // 调用windows下系统的命令 让程序暂停执行 方便观察程序的执行结果 }
#include <stdio.h> #include <stdlib.h> main() { //指针是什么? 指针就是一个地址 //地址代表的就是一块内存空间 int i =5;// 定义一个int 类型的变量i 值 =5 printf("i的地址 %#X ",&i); //获取i的地址 // &i; //定义一个指针变量 int* p ; // 指针变量 定义一个int* 类型的变量p //int *p, int * p; p = &i; // 就是把i的指针赋给指针变量p ,现在指针变量p里面存放的内容(数据) 就是i的地址 printf("p里面的内容为(i的地址) %#X ",p); //*号 操作符 // *号的几种含义 //1 . *号放在某种数据类型的后面,代表就是这种数据类型的指针 int* float* //2 . *号 代表一个乘法符号 3*5 = 15; //3 . *号放在一个指针变量的前面 -> 代表取这个指针变量所存放的地址里面对应的数据 printf("i=%d ",i); printf("*p的值%d ",*p); // 改变p的值 会不会影响i的值? //p = NULL; // printf("i=%d ",i); // 改变i的值 会不会影响p的值? // i = 100; // printf("p里面的内容为(i的地址) %#X ",p); // 通过上述实验 p和 i 是两个不同的变量 ,改变i的值 不会影响 p的值,同理,更改p的值 也不会影响i的值 // 更改*p的值 会不会影响i的值 // *p = 88; // printf("i=%d ",i); // 更改i的值 会不会影响 *p的值呢? // i = 99; // printf("*p的值%d ",*p); //*p 和i 其实代表的是同一个变量,代表是同一块内存空间 system("pause"); // 调用windows下系统的命令 让程序暂停执行 方便观察程序的执行结果 }
#include <stdio.h> #include <stdlib.h> main() { /* int* p; //定义一个指针变量 垃圾值 -> 野指针 //printf("*p=%d ",*p); *p = 1231; // 立刻蓝品 // 指针变量如果没有赋值就不能使用 */ /* int d = 324233; char* c; ; // 编译错误 不符合的指针类型 c = &d; printf("*p = %c ",*c); 类型不相同的指针不可以互相转换 */ system("pause"); // 调用windows下系统的命令 让程序暂停执行 方便观察程序的执行结果 }
#include <stdio.h> #include <stdlib.h> f(int** q){ int i = 3; printf("子函数 i的地址 %#X ",&i); // *q 代表的就是p变量 *q = &i; } /** 使用指针的时候 不可以访问已经被系统回收掉的数据 子函数执行完毕后 子函数里面所有的局部变量都会别系统回收 */ main() { // 希望在主函数里面去使用子函数里面的变量 i // f(); // 希望在主函数里面得到子函数 里面int i变量的地址 int* p ; //存放子函数f中 int i的地址的一个变量 f(&p); // printf("主函数 i的地址 %#X ",p); // printf("i的值为 %d ",*p); system("pause"); // 调用windows下系统的命令 让程序暂停执行 方便观察程序的执行结果 }
#include <stdio.h> #include <stdlib.h> // public List<Person> getPersons() {}; // public byte[] getbytes(){}; /* 如果让子函数 更改主函数里面的数据 如何让子函数 返回一个以上的值 1.子函数的形参 为 主函数中要修改的变量的地址 2. 调用子函数的时候 把要修改的变量的地址 传递给子函数 3. 在子函数里面 修改这个地址里面存放的变量的内容 4. 主函数使用这个变量的时候 里面的值就发生了变化 */ int f(int* p, int* q){ *p = 33; *q = 55; } main() { int i = 3; int j = 5; f(&i,&j); printf("i=%d ",i); printf("j=%d ",j); system("pause"); // 调用windows下系统的命令 让程序暂停执行 方便观察程序的执行结果 }
#include <stdio.h> #include <stdlib.h> main() { char arr[20] ={'h','e','l','l','o','