中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言常見關鍵字有哪些及指針怎么使用

發布時間:2022-11-08 18:56:21 來源:億速云 閱讀:171 作者:iii 欄目:編程語言

今天小編給大家分享一下C語言常見關鍵字有哪些及指針怎么使用的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

c語言的常見關鍵字有:

auto,break,case,char,const(常變量),continue,default(默認),do,double,else,enum(枚舉),extern(引入外部符號),float,for,goto,if,int,long,register(寄存器關鍵字),return(返回),short(短整型), signed(有符號),sizeof(計算大小),static,struct(結構體關鍵字),switch,typedef(類型定義),   union(聯合體/共用體),unsigned,void(空),volatile,while

下面對個別關鍵字進行介紹

auto(自動)
#include <stdio.h>
int main()
{
  int a = 10;//局部變量都是自動變量 - 前面都省略一個auto --> auto int a = 10
  return 0;
}

局部變量和全局變量:

定義在代碼塊({})內部的變量叫局部變量,定義在代碼塊({})外部的變量叫全局變量

代碼塊用{}表示,局部變量和全局變量的名字建議不要相同,容易產生bug,當名字相同時局部變量優先

#include <stdio.h>


  int num2 = 20;//全局變量
int main()
  int num1 = 10;//局部變量
  return 0;
}
register(寄存器關鍵字)&unsigned(無符號型)

C語言常見關鍵字有哪些及指針怎么使用

速度:寄存器>高速緩存>內存>硬盤

大小:硬盤>內存>高速緩存>寄存器

計算機存儲數據原理:硬盤數據-->內存-->高速緩存-->寄存器-->cpu

#include <stdio.h>
int main()
{
  //register int a = 10;//建議把a定義成寄存器變量,計算機會優先儲存這個數據
  int a = 10;
  a = -2;
  //int 定義的變量是有符號的
  //signed int == int
  unsigned int num = 0;//unsigned無符號型
  return 0;
}
typeof - 類型定義  - 類型重定義
```c++
#include <stdio.h>
int main()
{
  //typedef - 類型重定義
  typedef unsigned int u_int;//重新定一個unsigned int型變量
  unsigned int num = 20;
  u_int num = 20;
  return 0;
}
static -- 用于修飾變量

static修飾就不變量,局部變量生命周期變長(出了作用域不會被銷毀)

#include <stdio.h>
void test()
{
  //int a = 1;//創建一個局部變量
  static int a = 1;//a是一個靜態的局部變量
  a++;
  //printf("a = %d\n",a);//2 2 2 2 2
  printf("a = %d\n",a);//2 3 4 5 6
}
int main()
{
  int i = 0;
  while (i<5)
  {
    test();
    i++;
  }
  return 0;
}

static修飾全局變量,改變了變量的作用域,讓靜態的全局變量只能在自己所在的源文件內部使用,出了源文件便無法使用

創建一個源文件,創建一個全局變量

//這是一個test1.c的源文件
static int g_val = 2022;//全局變量

回到源文件中編代碼

#include <stdio.h>
int main()
{
  //extern - 聲明外部符號的關鍵字
  extern int g_val;//報錯,一個無法解析的外部命令
  printf("g_val = %d\n",g_val);
  return 0;
}

如果將test1.c中的static去掉則會輸出2022

static 修飾函數改變了函數的連接屬性 正常的一個函數是具有外部鏈接屬性,被static修飾時就變成內部連接屬性了

static int Add(int x , int y) (定義一個函數)

{

int z = x+y;

return z;

}

#include <stdio.h>
//聲明外部函數
extern int Add(int , int);
int main()
{
  int a = 10;
  int b = 20;
  int sum = Add(a,b);
  printf("sum = %d\n",sum);//報錯
  return 0;
}
#define(默認)

1.定義標識符常量

2.定義宏

#include <stdio,h>

//#define 定義標識符常量
//#define MAX 100;

//#define 可以定義宏 - 帶參數
//函數的實現
int Max(int x , int y)
{
  if(x > y)
    return x;
  else  
    return y;
}
//宏的定義方式
#define MAX(X,Y) (X>Y ?X:Y)
int main()
{
  //int a = MAX;

  int a = 10;
  int b = 20;
  //函數
  int max = Max(a,b);
  printf("max  = %d\n",max);
  //宏的方式
   max = MAX(a,b);
  //max =(a>b?a:b)
  printf("max = %d\n",max);
  return 0;
}
struck - 結構體操作符
#include <stdio.h>
#include <string.h>
#pragma warning(disable:4996)//跳過這個報錯
//創建一個結構體類型
struct Book
{
  char name[20];//C語言程序設計
  short price;//50
};

int main()
{
  //利用結構體類型創建一個該類型的結構體變量
  struct Book b1 = {"c語言程序設計",50};
  struct Book* pb = &b1;
  //利用(指針變量)pb打印書名和價格

  // .  結構體變量.成員
  // -> 結構體指針->成員
  //printf("%s\n", pb->name);
  //printf("%d\n", pb->price);
  /*printf("%s\n", (*pb).name);
  printf("%d\n", (*pb).price);*/


  //printf("書名:%s\n", b1.name);
  //printf("價格:%d\n", b1.price);
  //b1.price = 15;

  //修改name值(因為是數組類型不能直接進行修改)
  strcpy(b1.name, "C++");//strcpy - string copy - 字符串拷貝-庫函數-需要引用string.h頭文件
  printf("%s\n", b1.name);
  //printf("修改后的價格:%d\n", b1.price);*/
  return 0;
}
指針

指針的大小在32位的平臺上是4個字節,在64位的平臺上是8個字節

#include <stdio.h>
int main()
{
  int a = 10;
  //& - 取地址操作符 在之前的“字符串+轉義字符+注釋”那一節有說到
  int* p = &a;//取出a的地址(放在p中)  創建一個指針變量p(int* )
  printf("%p\n",p);
  *p = 20;//* - 解引用操作符  *p指a的地址
  printf("a = %p\n",a);//20
  //有一種變量是用來存放地址的 - 指針變量
  //printf("%p\n", &a);//打印a的地址(16進制)
  return 0;
}

C語言常見關鍵字有哪些及指針怎么使用

#include <stdio.h>
int main()
{
  char ch = 'w';//定義一個ch變量
  char* pc = &ch;//取出ch的地址放在pc中
  printf("%d\n",sizeof (pc));//打印pc所占空間大小(指針變量的大小)
  *pc = 'a';//利用pc訪問ch的地址更改ch的內容
  printf("%c\n",ch);//a
  return 0;
}

C語言是什么

C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用于底層開發,使用C語言可以以簡易的方式編譯、處理低級存儲器。

以上就是“C語言常見關鍵字有哪些及指針怎么使用”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

虎林市| 夹江县| 阿克| 焦作市| 民权县| 无棣县| 肥西县| 孝昌县| 甘洛县| 长治市| 镶黄旗| 八宿县| 昌都县| 澜沧| 滨州市| 连平县| 聂拉木县| 昆山市| 武胜县| 黎平县| 道孚县| 延长县| 资中县| 儋州市| 民权县| 长岛县| 闵行区| 马边| 永新县| 肇东市| 富裕县| 恭城| 隆子县| 德保县| 中江县| 兖州市| 浙江省| 得荣县| 偃师市| 蓝田县| 开化县|