我是黑马-----iosC语言高级第一部分

C语言的构造类型:

构造类型是由若干个成员组成的,每个成员都是一个基本数据类型。

构造数据类型可以嵌套,构造里面还有构造。

结构体可以作为函数的参数来传递,方便了书写。

定义结构体的方法:

 1 Struts 结构名{ 2 成员列表 3 }; 

声明列子:

1 Struts student{
2      int num;
3      char name;
4      char sex;
5      int score;
6 };

定义:

 1 Struts student stu; 

结构数组,改数组每个元素都是一个相同类型的结构体

1 //结构体数组的初始化方法
2
3 //1、定义结构体数组的时候,进行初始化
4
5 struct Student{
6
7     char name[20];
8     int age;
9 }boys[3] = {{"ss",18},{"kjh",38},{"whjs",21}};

访问其成员的方法:

结构变量名.成员名

C语言的指针:

//声明一个指针,存放的是变量a的地址

声明:

1 int *nam = &a2 //这里的*nam = a    am = 变量a的地址

自己理解:

“*”为指针的标志、“*”+指针变量名 = 被指向变量的值。

“&”为取地址符号。“&”+变量名 = 改变量的地址。

枚举类型:关键字 :enum

枚举类型是一种基本数据类型,不是一种构造类型,因为它不能再分解为任何的基本类型。

枚举类型的定义中列举了所有可能的取值。

枚举类型的结构:

1 enum 枚举类型名{枚举值表}

typedef关键字:

可以为数据类型取别名~

格式:

1 typedef 原类型名 新类型名

给数组起别名:

 1 //给数组起别名~
 2 typedef int ARRAY[5];  // int a[5]   数组长度为5
 3 ARRAY a1 = {1,2,3,4,5};
 4 ARRAY b1 = {5,4,3,2,1};
 5
 6 for(int i = 0;i < 5;i++){
 7     printf("%d\t",b1[i]);
 8 }
 9
10 return 0;

运行结果:5  4  3  2  1

C语言中的宏: 关键字:#define

被定义为“宏”的标识符称为“宏名”,在编译预处理时,对程序中所有出现的“宏名”,都用

宏定义中的字符串去代换,这称为“宏代换”或“宏展开”。

在字符串中出现的宏名不会被替换。

宏可以嵌套定义。比如:

1 #define R 4
2 #define PI 3.14
3 #define AREA 

可以使用  #undef  来取消#define

习惯上宏名用大写字母表示,以便于与变量区别。但也允许小写。

定义形式:

1 #define 标识符 字符串

有参宏:

对带参数的宏,在调用中,不仅要展开,而且要用实参去代替形参。

形式:

#define 宏名(形参表) 字符串
 1 /*有参宏  #define SUM (a) a+a
 2    SUM(3) 不仅要  a+a替换,而且还要把实参3带入到字符串中
 3
 4 */
 5 #include<stdio.h>
 6 #define SUM(a) a+a
 7
 8 int main(int argc,const char * argv[]){
 9
10     int result = SUM(3);
11     printf("%d\n",result);
12     return 0;
13 }

运算结果:6

typedef和#define的区别:

应注意用宏定义表示数据类型和用tpyedef定义数据说明符的区别。

宏定义知识简单的字符代换,是在预处理完成的,而typedef是在编译时处理的,

他不是简单的代换,而是对类型说明符重新命名。被命名的标识符具有类型定义说明的功能。

时间: 2024-08-05 04:15:56

我是黑马-----iosC语言高级第一部分的相关文章

黑马程序员____第一阶段Java开发前奏(1)

  黑马程序员____第一阶段Java开发前奏(1) ⒈软件开发:        软件是由一系列按照特定顺序组织的计算机数据和指令的集合,软件开发就是制作软件.软件的出现实现了人与计算机之间的交互.    ⒉人机交互方式:        图形化界面和命令行方式,图形化界面简单直观,使用者易于接受,容易上手操作.命令行方式需要有一个控制台,输入特定的指          令,让计算机完成一些操作,较为麻烦,需要记住一些命令.    3.常用的DOS命令:     dir:列出当前目录下的文件以及文

黑马程序员_第一天视频学习

一.      计算机和软件常识 1.      计算机运行原理 1)          硬件基本组成:硬盘.内存.CPU 2)          各个部件之间的运作协调(下图) 2.      计算机只能识别0和1 1)          0和1组成的指令 2)          0和1组成的数据 3.      计算机和软件的联系 1)          软件的基本概念:指令的集合 2)          软件的安装运行过程 3)          为什么要开发软件:写出能控制计算机的指令

c语言程序设计第一章3

字符数组是C语言中最常用的数组类型.下面我们通过编写一个程序,来说明字符数组以反操作字符数组的函数的用法.该程序读入一组文本行,并把最长的文水行打印出来.该算法的基本框架非常简单: while (还有未处理的行) i f (该行比已处理的最长行还要长) 保存该行 保存该行的长度 打印最长的行 1 #include <stdio.h> 2 #include <stdlib.h> 3 #define MAXLENGTH 100//文本的最大长度 4 int getline(char l

IOS成长中-C语言-数据类型(第一天)

定义常量分三部分:数据类型 变量名 = 初值    定义整型变量       变量名的命名规则:        1.变量名只能由数字,字母,下划线组成,并且数字不能开头.        2.不能和系统关键字重名.        3.具有自解释性,见名知意.        4.变量名不能重复.        5.变量名由多个单词组成时,除了首个单词首字母小写外,其他的单词首字母都要大写     int a = 10;     float b = 1.0;//用于注释一行.     char a =

我是黑马-----ios开发之C语言基础

C语言在学习中的重难点: 1)运算符:自增,自减. 2)进制:各种进制转换.原码.反码.补码. 3)数组:一维数组,二维数组,多维数组. 4)循环:多重循环嵌套.查找.排序. 5)函数:普通函数调用.递归函数的调用. 6)指针:一级指针.多级指针.数组指针,指针和数组.函数.结构体.之间的关系. 7)内存管理:C语言的内存管理问题.内存泄露.野指针. 8)有参宏及条件编译. 9)多文件开发 前期学习C语言的关键输入输出函数:printf()和scanf() a++与++a的区别: 运算的顺序就是

我是黑马-----OC与C语言的区别

C语言是面向过程的编程语言,而OC则是面向对象的编程语言. 面向对象:打个比方,就是你做一次菜,让老婆做个菜,吃饭,这就是面向对象,效率高 面向过程,就是每一个细节:比如你要先把或开到合适的位置.然后还要洗菜 ,等油热了,才能开始炒菜,然后调料,...,起锅,到碗里,吃饭.... 面向对象编程的代码更容易维护.它把具体的操作细节封装在类里,用的时候创建个对象,一顿调用方法,搞定!(当然类的实现方法还是需要自己写,面向对象只是一种编程思想.) OC继承.或者说是拓展于C语言,OC里可以直接写C语言

传智播客C语言视频第一季(有效下载期为10.1-10.7,10.8关闭)

?? J:\传智播客_尹成_C语言从菜鸟到高手├─传智播客_尹成_C语言从菜鸟到高手_第一章C语言概述A│      第一讲1.1C语言第一阶段.mp4│      第二讲1.2c语言入门教程.mp4│      ├─传智播客_尹成_C语言从菜鸟到高手_第七章编译选项_链表_栈_队列_C实战│  ├─7.1编译与预处理│  │      第10讲 7.1.14-24宏的高级用法2.mp4│  │      第11讲 7.1.25文件包含-7.1.28编译及预处理小节.mp4│  │      第

Kotlin 语言高级安卓开发入门

过去一年,使用 Kotlin 来为安卓开发的人越来越多.即使那些现在还没有使用这个语言的开发者,也会对这个语言的精髓产生共鸣,它给现在 Java 开发增加了简单并且强大的范式.Jake Wharton 在他的 Øredev 的讨论中,提到了 Kotlin 是如何通过提升安卓开发的语言特性和设计模式来解决这些严重的问题,通过这些方法你可以清除那些无用的 API 还有无效代码.充分利用扩展特性来解决你的开发中的模板性代码的问题! 为什么要推广这个语言? 好吧,大伙.欢迎来到这里.我们今天的主题是使用

写一篇C语言入门第一讲

 嗨~大家好~ 我是小白,最近才使用这个博客,我是一个计算机系的学生,我会在这里发一些我给我们班其他同学讲C语言入门的博文,希望大家能共享这些资料,当然了,我也很希望大家给我提出好的意见或建议.(PS:当然有错的话也要跟我说哦~我会虚心接受的).昨天晚上我给他们讲的是C语言基础,包括C的数据类型,什么是变量,以及库函数的使用.因为他们的基础不太好,所以讲的比较少.好了,废话不多说.开始正文吧. 我是按照我们河北科技大学的教科书给他们讲的,在我们的书上,第一章为C语言的发展史等等,我认为这些不太重