C++基础

作者: Gambol_r | 来源:发表于2019-07-17 23:09 被阅读0次

1.C的基本数据类型

java基本数据类型 C基本数据类型

基本数据类型所占字节数:

java基本数据类型 C基本数据类型
boolean:1 --
byte:1 --
char:2 char:1
short:2 short:2
int:4 int:4
long:8 long:4
float:4 float:4
double:8 double:8
-- singed(有符号):有符号数,最高位表示符号位,可以表示负数。
-- unsinged(无符号):无符号数,最高位表示数值位,不可以表示负数。
-- void():

C没有boolean byte C用 0和!0表示true和false

java一个字节所表示的数值大小


java字节表示数值大小

C一个字节所表示的数值大小


C一个字节所表示的数值大小
#include<stdio.h>    
#include<stdlib.h>    
/**
char, int, float, double, long, short, signed, unsigned, void
signed unsigned 有符号 无符号  只能用来修饰整形变量  char int short long 默认有符号 
sizeof(int)
*/
main(){    
   printf("char占%d个字节\n", sizeof(char));
   printf("int占%d个字节\n", sizeof(int));
   printf("short占%d个字节\n", sizeof(short));
   printf("float占%d个字节\n", sizeof(float));
   printf("long占%d个字节\n", sizeof(long));
   printf("double占%d个字节\n", sizeof(double));
   unsigned char c = 128;
   printf("c = %d\n",c);
       system("pause"); 
} 
image.png

2.C的指针

当声明一个变量,即会在内存中开辟出一段连续的内存空间。

#include<stdio.h>    
#include<stdlib.h>    
main(){  
       int i = 123;
       //一般计算机中用16进制数来表示一个内存地址 
       printf("%#x\n",&i); 
       //int* int类型的指针变量  pointer指针  指针变量只能用来保存内存地址
       //用取地址符&i 把变量i的地址取出来 用指针变量pointer 保存了起来
       //此时我们可以说 指针pointer指向了 i的地址 
       //int *pointer ; int * pointer   
       printf("pointer的值 = %#x\n",pointer);
       printf("pointer的内存地址 = %#x\n",&pointer);
       printf("*pointer的值%d\n",*pointer);
       *pointer = 456;
       printf("i的值是%d\n",i);
       system("pause"); 
       } 

image.png image.png
3.C语言野指针
main(){  
         //野指针   指针使用之前要初始化 赋给它一个自己程序中声明的变量的地址
         //指针使用的时候要注意 int类型的指针要指向int类型的内存地址, double类型的指针要指向double类型的地址 ....
          //如果乱指会出bug 
         int i; 
         double d = 3.1415;
       int* pointer = &d;
       printf("pointer的值=%#x\n",pointer);
       printf("*pointer = %d\n",*pointer);
       system("pause"); 
       } 

4.C语言结构体

C的机构体类似于Java的类,struct来声明C的结构体

#include<stdio.h>    
#include<stdlib.h>    
/**
c结构体 类似java的class  struct来声明c的结构体 
结构体的大小大于等于结构体中每一变量的占字节数的和
 结构体的大小是最大的那个变量所占字节数的整数倍 
 C结构体中不能定义函数  
 
 函数指针的定义   返回值(*函数指针变量名字)(返回值); 
 -> 间接引用运算符   
*/
void study(){
           printf("good good study!\n");
           }
//struct Student{
typedef struct Student{
      int age;  //8
      int score;  // 4
      char sex;   //1
      void(*studypointer)();
     //};
} stud;
main(){    
 //struct Student = {18,100,'f'};
 stud stu = {18,100,'f'};
 stu.studypointer = &study;
 stu.studypointer();
 struct Student* stuPointer = &stu;
 printf("*stuPointer.age = %d\n",(*stuPointer).age);
 (*stuPointer).sex ='m';
 printf("stu.sex = %c\n",stu.sex);
 printf("stuPointer->age = %d",stuPointer->age);
 //printf("stu.age = %hd\n",stu.age);
 //printf("stu.score = %d\n",stu.score);
 //printf("stu.sex = %c\n",stu.sex);
// printf("结构体student占%d个字节\n",sizeof(stu));
       system("pause"); 
} 

image.png

5.C语言枚举

#include<stdio.h>    
#include<stdlib.h>    
enum weekday{
     MON=9, TUE, WEND,THUR,FRI,SAT,SUN
     };
main(){    
   enum weekday day = MONe;
   printf("day= %d",day);
       system("pause"); 
       } 

image.png

6.C语言自定义类型

#include<stdio.h>    
#include<stdlib.h>    
typedef int i;
main(){    
           i j = 123;
           printf("j = %d\n",j);
       system("pause"); 
       } 

image.png

相关文章

网友评论

      本文标题:C++基础

      本文链接:https://www.haomeiwen.com/subject/pochlctx.html