第十一天:C基础之关键字

  上课已经是第十一天,C语言的语法差不多要结束了。剩下的就只有扫尾操作。C语言一共有32个关键字。老刘先是列出这些关键字,然后讲平时没有讲过的。

  C语言关键字有:void int  char short long double float unsigned signed

          if else do while sizeof auto register const static enum

          typedef return break goto continue swich struct union

          case default extern for volatile

   extern :   不分配内存,仅仅声明为外部变量。

   auto  经常变的变量 基本不用

   register 寄存器变量 用于经常访问的数据 加快访问速度,但是数量有限。

   volatile  说明变量与硬件相关,不希望被编译器优化

   typedef 对变量进行重命名

    const  只读变量  一般用于指针。

 1 #include<stdio.h>
 2
 3 int main()
 4 {
 5     int i = 10;
 6     int j = 20;
 7
 8     const int * p1 = &i;
 9     int * const p2 = &i;
10
11         *p1 =20;// err
12      p1 = &j;//ok
13      *p1 = 21;//err
14     *p2 = 20 ; // ok
15      p2 = &j ; err
16 }

const 往后面离谁最近就修饰谁,比如第八行,从const 离* 近,就表明*p里面的内容不可变。第八行也可以写成int const * p1 = &i; const 一般作为函数参数使用。

 1 #include<stdio.h>
 2 #include<assert.h>
 3
 4 int mystrcpy(char *dest ,const char * source )
 5 {
 6     assert(source != NULL);//断言
 7     while(*source)
 8         *dest++ = *source++;
 9 }
10
11 int main()
12 {
13     char *p = "hello world ";
14     char *p2 = NULL;
15     char data[1023]={0};
16
17     mystrcpy(data,p2);
18     printf("data is %s\n",data);
19
20
21 }

注意这里要使用断言。

void  *p  不知道存什么类型的地址。一般是通过隐式类型转换使用

宏定义:#define 仅仅是进行简单的替换。所以尽量用()

为了防止头文件被重复包含,使用 #ifndef  A  #define A #endif  为了让代码和平台无关  使用 #ifdef  #else  #endif

为了注释代码   使用   #if  0/1    #else  #endif

 1 #include<stdio.h>
 2 #include"bunfly.h"
 3 #include"hello.h"
 4
 5 #if 1
 6 int main()
 7 {
 8     printf("i am main\n");
 9     hello();
10     bunfly();
11 }
12 #else
13 int  main()
14 {
15     printf("hello world \n");
16
17 }
18 #endif

下午的时候老李给我们讲面试技巧,模拟面试了两个人。感觉我现在去面试没有一点优势。还是要加强沟通技巧。周一还要交简历。

  

时间: 2024-12-23 14:34:08

第十一天:C基础之关键字的相关文章

QT开发(五十一)——QtQuick基础

QT开发(五十一)--QtQuick基础 一.QtQuick简介 QT提供了两种独立的方法创建用户界面. QtQuick模块为创建流畅.鲜活的用户界面提供了一种标记语言.QtQuick模块适合需要动画元素的界面,以及应用程序主要运行在小屏幕和多点触控的设备上的场景. QtWidgets模块针对传统桌面提供了更多的支持,和目标平台做了更多的集成,无论目标平台是MacOSX.Windows.KDE.GNome.QtWidgets是一个非常高效的基于C++的类库,包含很多常见的用户界面组件,可以非常容

Java基础-synchronized关键字的用法(转载)

原文地址:http://blog.csdn.net/cq361106306/article/details/38736551 synchronized--同步 顾名思义是用于同步互斥的作用的. 这里精简的记一下它的使用方法以及意义: 当synchronized修饰?this或者非静态方法或者是一个实例的时候,所同步的锁是加在this或者实例对象引用上面的.比如a,b同为Main类的实例化对象,a调用被同步的方法,和b调用被同步的方法,没有形成互斥.但是不同线程的a对象调用被同步的方法就被互斥了.

_01JavaSE基础_关键字、标识符、常量、进制、变量、注释、数据类型、数据类型转换

1.关键字: 被java赋予特定含义的单词 特点: 全部小写 注意事项: goto和const作为保留字存在 2.标识符: 给类.接口.方法.变量等起名的字符序列 组成规则: a.英文大小写字母 b.数字字符(0-9) c.$和_ 注意事项: a.不能以数字开头 b.不能是java中的关键字 c.区分大小写 常见命名规则: a.包: 单级:全部小写 举例:liuyi,com 多级:全部小写,单词与单词之间用"."隔开 举例:cn.itcast,com.baidu b.类名及接口名: 每

java基础—static关键字

一.static关键字 原来一个类里面的成员变量,每new一个对象,这个对象就有一份自己的成员变量,因为这些成员变量都不是静态成员变量.对于static成员变量来说,这个成员变量只有一份,而且这一份是这个类所有的对象共享. 1.1.静态成员变量与非静态成员变量的区别 以下面的例子为例说明 1 package cn.galc.test; 2 3 public class Cat { 4 5 /** 6 * 静态成员变量 7 */ 8 private static int sid = 0; 9 10

黑马程序员---java基础语法---关键字,常量,变量,运算符

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 第一讲:java语言基础 1.关键字的定义和特点 定义:被Java语言赋予了特殊含义的单词 特点:关键字中所有字母都为小写 用于定义数据类型的关键字  class interface byte short int  long  float

Java基础:关键字final,static

一 . final 含义:adj.最后的,最终的; 决定性的; 不可更改的.在Java中是一个保留的关键字,可以声明成员变量.方法.类以及本地变量.一旦你将引用声明作final,你将不能改变这个引用了,编译器会检查代码,如果你试图将变量再次初始化的话,编译器会报编译错误. 1)修饰成员变量.局部变量:在编写程序时,我们经常需要说明一个数据是不可变的,我们成为常量.在java中,用final关键字修饰的变量,只能进行一次赋值操作,并且在生存期内不可以改变它的值.更重要的是,final会告诉编译器,

魏兆辉的IOS基础学习笔记之十一 OC语言基础-06 Foundation框架介绍

在之前的博文中,我们创建的项目文件的时候,默认都有引用#import <Foundation/foundation.h> 这个头文件.但是,之前我们对Foundation都没有展开介绍.这篇博文,我们就揭开它神秘的面纱. 之前,我们有提到过OC使用的是Cocoa框架.那么Cocoa和Foundation之间,有啥关联呢?实际上,Cocoa是由许多个不同的框架组成的.最常用的是Foundation和Application Kit. Foundation框架中有很多有用的.面向数据的简单类和数据类

C#基础入门——关键字

例子: 1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 5 namespace Test 6 { 7 class Program 8 { 9 static void Main(String[]args) 10 { 11 Console.WriteLine("Hello World!"); 12 } 13 } 14 } 1.关键字 class ,这个关键字的用途是声明类,是C#程序最小单

第五十一课 NoSQL基础概念及MongoDB应用、数据库分配概念

NoSQL基础概念及MongoDB MongoDB基础应用 MongoDB索引及复制集 数据库分片的概念及Mongodb  sharding的实现 一.NoSQL基础概念 NoSQL(Not Only SQL),是一种技术流派,非关系型数据库:适合用在大数据领域,各种nosql有各自的查询语句,这也是nosql的缺点之一. 大数据(BigDate)也称海量数据是一个模糊的概念,像Google.百度收集大量数据,分析现在.预测未来:这些数据通过某些特定的特征和算法得出某些预测的结果,这些数据为大数