美文网首页c/c++
c基础—基本数据类型和指针入门

c基础—基本数据类型和指针入门

作者: Peakmain | 来源:发表于2018-06-10 08:10 被阅读1次

c语言第一个程序HelloWorld

#include<stdio.h>//导入头文件,都是方法的声明,.h .hpp 里面都是方法的声明:.cpp(c++) .c(c)都是方法的实现
void main(){
    printf("Hello world");//打印输出
    getchar();//暂停一下
}

基本数据类型

//基本数据类型
void main(){
    int i = 100;
    double d = 200;
    float f = 200;
    long l = 100;
    short s = 100;
    char c = 'D';
    //字符串char *
    //输出打印,要用占用符
    printf("i的值是:%d\n" , i);
    printf("d的值是:%lf\n", d);
    printf("d的值是:%f\n", f);
    printf("d的值是:%ld\n", l);
    printf("d的值是:%d\n", s);
    printf("d的值是:%c\n", c);
    getchar();
}

变量地址和指针变量

//变量的地址,任何的数据或者变量都会有地址
void main(){
    int i = 100;
    //&i &代表取变量的地址
    //通过debug的调试,我们可以根据地址查询该地址的数据, int 4字节, sizeof()获取数据类型所占的字节数
    printf("i的地址是:%p", &i);
    getchar();
}

debug下根据地址查询该地址的数据,根据下图选择内存


image.png

输入debug中获得的地址然后复制,然后选择4字节,带符号显示


image.png

我使用的软件是visual studio2013

sizeof()获取数据类型所占的字节数

// sizeof()获取数据类型所占的字节数
void main(){
    printf("int 数据类型所占的字节数:%d\n", sizeof(int));//4
    printf("double 数据类型所占的字节数:%d\n", sizeof(double));//8
    printf("char 数据类型所占的字节数:%d\n", sizeof(char));//1
    getchar();
}

指针变量和获取地址的值

//指针变量和获取地址的值
void main(){

    int i = 100;
    double d = 200;
    printf("i的值是:%d\n", i);
    printf("i的值是:%d\n", *(&i));//根据地址返回值
    //指针(地址)变量,指针存放(指向)的就是变量的地址
    //int *代表的是int类型的指针(地址)
    int *p = &i;
    printf("i的值是:%d\n", *p);
    double* pl = &d;
    getchar();
}

通过指针修改值

//通过指针修改值
void main(){
    int i = 100;
    int *p = &i;

    i = 200;
    printf("i的值:%d\n", i);
    //通过指针修改值
    *p = 300;
    printf("i的值:%d", i);

    getchar();
}

通过方法修改值


//通过方法修改值
void change(int i){//这个i是另一个
    printf("change中的i的地址:%p\n", &i);
    i = 200;

}
//所以上面方法不行,可以使用指针修改值
void change(int *p){
    printf("change中的i的地址:%p\n", p);
    *p = 200;
}
void main(){
    int i = 500;
    printf("change中的i的地址:%p\n", &i);
    printf("i的值:%d\n", i);
    change(&i);
    printf("修改后i的值", i);
    getchar();

}

题目:写个方法对两个值进行交换

void change(int *a, int *b){
    int temp = *a;
    *a =* b;
    *b = temp;
}
void main(){
    int a = 100;
    int b = 200;
    change(&a, &b);
    printf("a的值是:%d\n", a);
    printf("b的值是:%d\n", b);
    getchar();
}

面试题:对a,b值进行交换,但是不开辟额外的内存(不能用中间变量)

void main(){
    int a = 100;
    int b = 200;
     a = a + b;
     b = a - b;
     a = a - b;

     printf("交换后ab的值分别是:%d,%d", a, b);

     getchar();
}

相关文章

  • C语言学习(第一天)

    C语言基本数据类型 输入和输出函数 指针入门 C语言指针实现数据交换 指针的常见错误 不可以使用已经被回收的变量 ...

  • c基础—基本数据类型和指针入门

    c语言第一个程序HelloWorld 基本数据类型 变量地址和指针变量 debug下根据地址查询该地址的数据,根据...

  • C语言2数据

    基础知识不够清楚,学习自《C和指针》& 《C Primer Plus》 基本数据类型 整形 提示:如果一个值被当作...

  • C语言-数据类型

    C语言中数据类型是什么重要的,他们是定义变量的基础。C语言中数据类型大体上可以分为:基本数据类型,构造类型,指针...

  • 数据类型简介及输出

    (1) 数据类型简介 数据类型简介: Object - C 数据类型 分为 基本数据类型, 构造类型 和 指针类型...

  • iOS新手的进阶之路

    一、C语言基础 基本数据类型、基本运算、函数、数组、字符串、指针、结构体、预处理指令、枚举、文件操作、内存管理 二...

  • iOS开发学习计划

    一、C语言基础 基本数据类型、基本运算、函数、数组、字符串、指针、结构体、预处理指令、枚举、文件操作、内存管理 二...

  • C语言基础一

    一、基本数据类型 二、指针 1、基本 2、修改值 4、交换 5、多级指针 三、数组和数组指针 1、基础 数组指针,...

  • C++基本概念复习_2018-06-25

    C++基础 (1)C和C++的区别 C++分为: C部分(区块、语句、预处理器、内置数据类型、数组、指针等); 面...

  • 第3章,数据

    基本数据类型 在C语言中,仅有4种基本数据类型----整形,浮点型,指针和聚合类型(数组和结构),所有其他的类型都...

网友评论

    本文标题:c基础—基本数据类型和指针入门

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