展开

关键词

C之指针

一、指针* 1、定义 普通: 数据类型 名称 指针: 数据类型 * 名称; 2、指针是什么类型,那么将来就只能保存什么类型的地址, 例如 指针是int类型, 那么将来就只能保存 int类型的地址 3、* : 标示这是一个指针,代表访问指针指向的那一块存储空间 4、指针只能存储地址 * int num = 10; char c = a; float f = 12. a, f: 12.000000, d: 22.500000 改之后的值-->num: 111, c: c, f: 222.500000, d: 333.000000 *指针的应用练习1:交换两个的值 0x7fff5fbff744 *(pc+1): B, *(cArr+1): B, pc: B, cArr: B *(pc+1): Z, *(cArr+1): Z, pc: Z, cArr: Z *三、常指针和指向常的指针先来几个 not assignable 指向整形常的指针,不能间接修改的值,因为指向整型常 c = 20; 但是原自己可以直接修改自己的值 printf(c2: c=%d, *cp=%d, &c=%x

95930

C中指针

#include 指针测试指针存储的值是另一个的地址,也就是说改指针指向了另一个int main(){ int a=10; int c=20; 1.打印出的内存地址 printf ,不用带* b=&c; 6.通过指针获取数据时要带*,使用指针是间接获取数据 printf(%d n,*b); 7.通过指针修改内存上的数据 *b=30; printf(%d n,c); 8.关于 &的谜题 int d=40; int* e=&d; int f=*&d;等价于 *(&d) ==> d int* g=&*e;等价于 &(*e) ==> e ** 对星号*的总结: 在我们目前所学到的法中 ,星号*主要有三种用途: 表示乘法,例如int a = 3, b = 5, c; c = a * b;,这是最容易理解的。 表示定义一个指针,以和普通区分开,例如int a = 100; int *p = &a;。

45210
  • 广告
    关闭

    50+款云产品免费体验

    提供包括云服务器,云数据库在内的50+款云计算产品。打造一站式的云产品试用服务,助力开发者和企业零门槛上云。

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    8.2 C指针

    01怎么定义指针 1、一般形式类型名 *指针名;例子:int *point_1,*point_2;左端的int是在定义指针时必须指定的“基类型”。 指针的基类型用来指定此指针可以指向的的类型。2、指针前面的“*”表示该的类型为指针。 5、指针中只能存放地址(指针),不要将一个整数赋给一个指针。 02怎样引用指针 1、给指针赋值。如:p=&a;指针p的值是a的地址,p指向a。2、引用指针指向的。 如已执行“p=&a”,即指针p指向了整型a,则printf(“%d”,*p);其作用是以整数形式输出指针p所指向的的值,即a的值。3、引用指针的值。 C | 函数实现输出I love you更多案例可以go公众号:C入门到精通

    1732625

    C | static静态

    “要成为绝世高手,并非一朝一夕,除非是天生武学奇才,但是这种人…万中无一” ——包租婆这道理放在C学习上也一并受用。 在编程方面有着天赋异禀的人毕竟是少数,我们大多数人想要从C小白进阶到高手,需要经历的是日积月累的学习。那么如何学习呢?当然是每天都练习一道C题目!!?作者闫小林白天搬砖,晚上做梦。 例87:学习Cstatic定义静态的用法。 解题思路:在C中,static 不仅可以用来修饰,还可以用来修饰函数,使用 static 修饰的,称为静态。 静态的存储方式与全局一样,都是静态存储方式。 C源代码演示:#include头文件 int main()主函数 { void varfunc(); 函数声明 int i;定义整型 for(i=0;i

    12532

    C | auto定义

    “要成为绝世高手,并非一朝一夕,除非是天生武学奇才,但是这种人…万中无一” ——包租婆这道理放在C学习上也一并受用。 在编程方面有着天赋异禀的人毕竟是少数,我们大多数人想要从C小白进阶到高手,需要经历的是日积月累的学习。那么如何学习呢?当然是每天都练习一道C题目!!?作者闫小林白天搬砖,晚上做梦。 例88:学习使用Cauto定义的用法。 解题思路:auto自动存储类型,一般我们很少在程序中显示申明为auto类型。 因为代码块中的缺省情况下就是这种类型,这种类型的存放于堆栈中,也就是说只有程序执行这些代码块时这种自动才会被创建,代码块执行结束后自动便被释放。 C源代码演示:#include头文件 int main()主函数 { int i,num;定义整型 num=2;赋初值 for (i=0;i

    13642

    C | register定义

    “要成为绝世高手,并非一朝一夕,除非是天生武学奇才,但是这种人…万中无一” ——包租婆这道理放在C学习上也一并受用。 在编程方面有着天赋异禀的人毕竟是少数,我们大多数人想要从C小白进阶到高手,需要经历的是日积月累的学习。那么如何学习呢?当然是每天都练习一道C题目!!?作者闫小林白天搬砖,晚上做梦。 例89:学习Cregister定义的用法。 解题思路:register这个关键字请求编译器尽可能的将存在CPU内部寄存器中,而不是通过内存寻址访问,以提高效率。注意是尽可能,不是绝对。 因为,如果定义了很多register,可能会超过CPU的寄存器个数,超过容C源代码演示:#include头文件 int main()主函数 { register int i;定义寄存器 int temp=0;定义整型 for(i=0;i

    10132

    C | 结构体

    C结构体类型C中允许用户自己建立由不同类型数据组成的组合型的数据结构,它称为结构体。在其他一些高级中称“记录”。 C如何定义结构体类型先声明结构体类型,再定义该类型的在定义了结构体后,系统会为之分配内存单元。根据结构体类型中包含的成员情况,在Visual C++中占63个字节。 在声明类型的同时定义一般形式struct 结构体名{ 成员表列}名表列;声明类型和定义放在一起进行,能直接到结构体的结构,比较直观。 C结构体的初始化和引用在定义结构体时可以对它的成员初始化,初始化列表是用花括号括起来的的一些常,这些常依次赋给结构体中的各成员。 ,就给小林点个赞,分享给身边的人叭,这样小林也有更新下去的动力,跪谢各位父老乡亲啦~C学习路线 C开发工具VC6.0、Devc++、VS2019使用教程100道C源码案例请去公众号:C入门到精通

    21910

    C | register定义

    例89:学习Cregister定义的用法。 解题思路:register这个关键字请求编译器尽可能的将存在CPU内部寄存器中,而不是通过内存寻址访问,以提高效率。注意是尽可能,不是绝对。 因为,如果定义了很多register,可能会超过CPU的寄存器个数,超过容C源代码演示:#include头文件 int main()主函数 {  register int i;定义寄存器   int temp=0;定义整型   for(i=0;i

    9732

    C | static静态

    例87:学习Cstatic定义静态的用法。  解题思路:在C中,static 不仅可以用来修饰,还可以用来修饰函数,使用 static 修饰的,称为静态。 静态的存储方式与全局一样,都是静态存储方式。 C源代码演示:#include头文件 int main()主函数 {  void varfunc(); 函数声明   int i;定义整型   for(i=0;i

    8152

    江哥带你玩转C | 04-C

    , 我们最关心的是内存中的动态数据,因为我们写的程序就是在内存中运行的程序在运行过程中会产生各种各样的临时数据,为了方便数据的运算和操作, C对这些数据进行了分类, 提供了丰富的数据类型C中有4 可以利用=号往里面存储数据在C中,利用=号往里面存储数据, 我们称之为给赋值int value;value = 998; 赋值注意:这里的=号,并不是数学中的“相等”,而是C中的* C中, 的第一次赋值,我们称为“初始化”初始化的两种形式先定义,后初始化int value; value = 998; 初始化定义时同时初始化int a = 10; int b = 4, c a中存储的10拷贝了一份给b----如何的值? = A;printf(height=%.2f, 血型是%c, height, blood);----的作用域C中所有都有自己的作用域定义的位置不同,其作用域也不同按照作用域的范围可分为两种

    7400

    7.4 C局部和全局

    01局部 1、定义的3中情况(1)在函数的开头定义。(2)在函数内的复合句内定义。(3)在函数的外部定义。 3、在复合句内定义的只在复合句范围内有效,只有在本复合句内才能引用它们。在复合句以外是不能使用这些比那里的,以上这些称为“局部”。 7、在一个函数内部,可以在复合句中定义,这些只在本复合句中有效,这种复合句也称为“分程序”或“程序块”。 02全局 1、在函数内定义的是局部,而在函数之外定义的称为外部,外部是全局2、全局可以为本文件中其他函数所共用。 5、为了便于区别全局和局部,在C程序设计人员中有一个习惯,将全局的第1个字母用大写表示(非规定)。C | 输出100-200之间不能被3整除的数更多案例可以go公众号:C入门到精通

    1493127

    C | 改指针的值

    例35:C编程实现改指针的值。解题思路: 指针p的值是可以化的,printf函数输出字符串时,从指针p当时所指向的元素开始,逐个输出各个字符,直到遇‘0’为止。 而数组名虽然代表地址,但是它是常,它的值是不能改的。 源代码演示:#include头文件 int main()主函数 {  char *p=I love C program language;定义指针且赋值   p=p+7;指针p指向字符串的第8位 ;数组名虽然代表地址,但是它是常,值不能改。 p=p+7;虽然是+7,但是在C中,下标是从0开始的。C | 改指针的值更多案例可以go公众号:C入门到精通

    1712419

    9.1 C结构体

    01自己建立结构体类型 1、C中允许用户自己建立由不同类型数据组成的组合型的数据结构,它称为结构体。在其他一些高级中称“记录”。 根据结构体类型中包含的成员情况,在Visual C++中占63个字节。(2)这种声明方式是声明类型和定义分离,在声明类型后可以随时定义,比较灵活。 2、在声明类型的同时定义(1)一般形式struct 结构体名    {    成员表列    }名表列; (2)声明类型和定义放在一起进行,能直接到结构体的结构,比较直观。 5、对结构体的成员可以像普通一样进行各种运算。6、同类的结构体可以互相赋值。7、可以引用结构体的成员的地址,也可以引用结构体的地址。 8、结构体的地址主要用作函数参数,传递结构体的地址。C | 函数实现输出I love you更多案例可以go公众号:C入门到精通

    2842825

    谈谈C中的

    的单词是variable,它的形容词的意思是可的,易的。在C中,每个都有特定的类型,而类型又决定了存储的大小和布局,类型范围内的值都可以存储在内存中,运算符可应用于上。 C 还允许定义各种其他类型的,例如:枚举、指针、数组、结构、共用体等。 的命名规则C中,的命名可以由字母、数字和下划线字符组成。它必须以字母或下划线开头。 大写字母和小写字母是不同的,因为 C 对字母的大小写是敏感的。 例子: int i,j,k;int _Max;int Happy2021; C 中的定义 在C中,定义就是告诉编译器我要创建的存储,及怎么创建的存储。 int y; 给外部(全局)x 和 y 赋值 x = 1; y = 2; return x+y;}运行编译以上代码,输出以下结果: sum = 3 C中的左值和右值C中有两种类型的表达式

    6110

    C基本使用

    是程序的基本组成单位不论是使用哪种高级程序编写程序,都是其程序的基本组成单位,比如: void main() { int a = 1; 定义了一个整型,取名为 a, 并赋值为 1 (强数据类型 ) int b = 3; 定义了一个整型,取名为 b, 并赋值为 3 b = 89; 给赋值 为 89 printf(a=%d n, a); 使用输出句,把 a 值输出 %d 表示输出的形式为整数 printf(b=%d n, b);使用输出句,把 b 值输出 %d 表示输出的形式为整数 getchar(); 将控制台停留,等待输入 }画出上面代码对应的示意图: ? 的介绍概念 相当于内存中一个数据存储空间的表示,你可以把做是一个房间的门牌号,通过门牌号我们可以找到房间,而通过名可以访问到(值)。4. 快速入门案例演示并对代码进行说明: #include void main() { int num = 1 ; 整型 double score = 2.3; 小数 char gender = A;

    7630

    C | 使用auto定义

    例88:学习使用Cauto定义的用法。 解题思路:auto自动存储类型,一般我们很少在程序中显示申明为auto类型。 因为代码块中的缺省情况下就是这种类型,这种类型的存放于堆栈中,也就是说只有程序执行这些代码块时这种自动才会被创建,代码块执行结束后自动便被释放。 C源代码演示:#include头文件 int main()主函数 {  int i,num;定义整型   num=2;赋初值   for (i=0;i

    11752

    C | 的存储方式

    “要成为绝世高手,并非一朝一夕,除非是天生武学奇才,但是这种人…万中无一” ——包租婆这道理放在C学习上也一并受用。 在编程方面有着天赋异禀的人毕竟是少数,我们大多数人想要从C小白进阶到高手,需要经历的是日积月累的学习。那么如何学习呢?当然是每天都练习一道C题目!!?作者闫小林白天搬砖,晚上做梦。 函数中定义的没有用关键字static声明的,即自动。函数调用时的现场保护和返回地址等。在C中,每一个和函数都有两个属性:数据类型数据的存储类别。 C局部的存储类别自动(auto)函数中的局部,如果不专门声明static存储类别,都是动态地分配存储空间的,数据存储在动态存储区中。自动用关键字auto做存储类别声明。 C全局的存储类别在一个文件内扩展外部的作用域如果由于某种考虑,在定义点之前的函数需要引用该外部,则应该在引用之前用关键字extern对该作“外部声明”,表示把该外部的作用域扩展到此位置

    14960

    C | 的存储方式

    函数中定义的没有用关键字static声明的,即自动。函数调用时的现场保护和返回地址等。在C中,每一个和函数都有两个属性:数据类型数据的存储类别。 C的存储类别包括4种:自动的(auto)静态的(static)寄存器的(register)外部的(extern)。 C局部的存储类别自动(auto)函数中的局部,如果不专门声明static存储类别,都是动态地分配存储空间的,数据存储在动态存储区中。自动用关键字auto做存储类别声明。 C全局的存储类别在一个文件内扩展外部的作用域如果由于某种考虑,在定义点之前的函数需要引用该外部,则应该在引用之前用关键字extern对该作“外部声明”,表示把该外部的作用域扩展到此位置 ,就给小林点个赞,分享给身边的人叭,这样小林也有更新下去的动力,跪谢各位父老乡亲啦~C学习路线    C开发工具VC6.0、Devc++、VS2019使用教程100道C源码案例请去公众号:C

    14640

    C | 局部与全局

    C定义的3中情况在函数的开头定义。在函数内的复合句内定义。在函数的外部定义。 C局部在一个函数内部定义的只在本函数范围内有效,也就是说只有在本函数内才能引用它们,在此函数以外是不能使用这些的。 C全局在函数内定义的是局部,而在函数之外定义的称为外部,外部是全局全局可以为本文件中其他函数所共用。全局的有效范围为从定义的位置开始到本源文件结束。 C全局与局部案例#includeint num1=10; 定义且初始化全局int main(){  int num2=20;定义局部  printf(%dn,num1);输出全局的值 ~C学习路线    C开发工具VC6.0、Devc++、VS2019使用教程100道C源码案例请去公众号:C入门到精通

    11450

    C | 指向结构体的指针

    例40:C实现通过指向结构体的指针输出结构体中的信息。 解题思路:在主函数中声明了struct student类型,然后定义了一个struct student类型的s_1,又定义了一个指针p,它指向一个struct student类型的对象,将结构体 s_1的起始地址赋给指针p,也就是使p指向s_1,然后对s_1的各个成员赋值。    struct student *p;定义结构体指针   p=&s_1;将s_1得地址赋给指针   s_1.num=10010;赋值   strcpy(s_1.name,yan);复制    怎么通过指向结构体的指针访问结构体中成员?C | 通过指向结构体的指针输出结构体中的信息更多案例可以go公众号:C入门到精通

    1142218

    扫码关注云+社区

    领取腾讯云代金券