美文网首页
C语言-1、基本数据类型、指针、函数

C语言-1、基本数据类型、指针、函数

作者: 喂_balabala | 来源:发表于2022-06-23 20:02 被阅读0次
头文件
<stdio.h> // C99 标准库
// <> 寻找系统的资源
// “” 寻找我们自己写的资源
// .h .hpp(声明文件 头文件)
// .c  .cpp (实现文件)
基本数据类型
boolean 非0即true, 0就是false

int i = 100;
double d = 200;
float f = 200;
long l = 100;
short s = 100;
char c = 'd';
// 字符串
char * str = "aaa";

// 不是随便打印的,需要占位
printf("i的值是:%d\n", i); // d == 整形
printf("d的值是:%lf\n", d); // lf == long float
printf("f的值是:%f\n", f); // f == float
printf("l的值是:%d\n", l); // d == 整形
printf("s的值是:%d\n", s); 
printf("c的值是:%c\n", c); // c == char
printf("字符串:%s\n", str); // s == String

printf("char 数据类型所占的字节数:%d\n", sizeof(char));// 1
printf("short 数据类型所占的字节数:%d\n", sizeof(short));// 2
printf("float 数据类型所占的字节数:%d\n", sizeof(float));// 4
printf("int 数据类型所占的字节数:%d\n", sizeof(int));// 4
printf("long 数据类型所占的字节数:%d\n", sizeof(long));// 4
printf("double 数据类型所占的字节数:%d\n", sizeof(double));// 8

//1字节(Byte)=8字位=8个二进制数
//1字位(bit)=1个二进制数
//1B=8b
//1KB=1024B
//1MB=1024KB
//1GB=1024MB

if (0) {
    printf("真\n");
} else {
    printf("假\n");
}

if (43665) {
    printf("真\n");    
} else {
    printf("假\n");   
}

if (-545) {
    printf("真\n");   
} else {
    printf("假\n");  
}
NULL
return NULL; // NULL == 0

指针(%p、&、*)

// Java 万物皆对象
// C C++(对象) 万物皆指针
// Linux 万物皆文件

// %p == 地址输出的占位
// & == 取出地址
// * == 取出指针对应的值
int number1 = 100000;
printf("此number1变量的地址是:%p\n", &number1);

int number_int = 100;
double number_double = 200;
printf("number_int的值是:%d\n", number_int);
printf("number_double的值是:%lf\n", number_double);

// * == 取出number_int地址所对应的值 == 100
// 指针取出值
printf("number_int的值是:%d\n", *(&number_int));
printf("number_double的值是:%lf\n", *(&number_double));


//   ================   难度

int * intP = &number_int;
double * doubleP = &number_double;

// 输出 100  和 200
printf("number_int的值是:%d\n", *intP);
printf("number_double的值是:%lf\n", *doubleP);
指针大小
  • 指针占用的内存大小是? int double xxx 的指针 永远都是 4个字节(32) 4*2(64)

  • 指针类型有何用?。 既然都是 4个字节,为什么还要分 指针类型

  • 答:取值的时候才知道怎么取(比如数组取值的时候知道类型才知道下一个元素要取多少个字节),这就是类型规定的好处

多级指针的核心是:指针存放的是地址,但是指针本身也有地址

函数
Main函数要不要返回,跟工具有关系

C代码是从上往下查找的,如果函数写在main函数下方,要先声明

// C语言不允许函数重载
// 由于C语言不支持函数重载,所以声明的函数,不需要写参数
void changeAction();


Question

  • 为什么 main函数 和 update 函数 i 的内存不地址一样?
void update(int * i) {
    // 形参i是一个新的变量,然后对这个新的变量赋值,所以和mian函数中传过来的i的内存地址是不一样的
    // printf("update函数,i的内存地址是:%p\n", &i); // 2000H
    printf("update函数,指针i的指向的值是:%p\n", i); // 1000H
    * i = 999;//这句含义是取出内存地址1000H对应的值 并把这个值赋值为999
}

int main1() {
    int i = 100; // 1000H的内存地址
    update(&i);
    printf("main函数,i的内存地址是:%p\n", &i);
    printf("main函数,i的值是:%d\n", i);
    return 0;
}

相关文章

  • C语言学习(第一天)

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

  • (一) C语言之基本数据类型_输入输出_指针

    (一) C语言之基本数据类型输入输出指针 一、基本数据类型 1、头文件 引入头文件,在头文件中只有函数的声明,在编...

  • iOS新手的进阶之路

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

  • iOS开发学习计划

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

  • C语言-1、基本数据类型、指针、函数

    头文件 基本数据类型 boolean 非0即true, 0就是false NULL 指针(%p、&、*) 指针大小...

  • c语言关键字

    c语言关键字 1 基本数据类型5个 void 声明函数无返回值或无参数,声明无类型指针,显式丢弃运算结果。 cha...

  • 02-C语言的指针

    02-C语言的指针 目标 C语言指针释义 指针用法 指针与数组 指针与函数的参数 二级指针 函数指针 指针在C中很...

  • NDK系列(一)C语言基本了解

    基本项目结构 基本数据类型 基本数据类型所占字节数 地址与指针:在C中 万物皆地址 指针取值 使用函数的时候 传值...

  • C语言基础及指针⑤动态内存分配

    接续上篇C语言基础及指针④函数指针 在上一篇我们了解C语言中的函数及函数指针 , 使用函数指针 , 模拟了网络请求...

  • 【OC梳理】基本数据类型和基本运算

    Objective-C作为以C语言为基础的语言,其基本数据类型与C语言类似。 1.基本数据类型 基本数据类型可以参...

网友评论

      本文标题:C语言-1、基本数据类型、指针、函数

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