初識C語言—常見關鍵字

變量的命名最好有意義

名字必須是字母,數字,下劃線組成,不能有特殊字符,同時不能以數字開頭

變量名不能是關鍵字

typedef---類型定義,類型重命名

#include <stdio.h>typedef unsigned int uint;
//將unsigned int類型重定義為uinttypedef struct Node{int data;struct Node* next;
}Node;
//將struct Node類型重定義為Nodeint main()
{unsigned int num1 = 0;uint num2 = 1;struct Node n1;Node n2;return 0;
}

#include <stdio.h>void test(){int a = 0;a++;printf("%d\n",a);
}int main()
{int i = 0;while(i < 5){test();i++;}return 0;
}

用static修飾變量a

#include <stdio.h>void test(){static int a = 0;a++;printf("%d\n",a);
}int main()
{int i = 0;while(i < 5){test();i++;}return 0;
}

????????static修飾局部變量的時候,局部變量出了作用域不銷毀。本質上,static修飾局部變量的時候改變了變量的存儲位置,影響了變量的生命周期,生命周期變長,和程序的生命周期一樣。

????????這一句沒有對應的匯編代碼

????????(前面的static可以理解為固定使其不執行,即為靜態,第一次創建后不會再重新創建變量并初始化,局部變量沒了創建和銷毀過程,每次使用的變量都是上次存起來的)

????????靜態變量在編譯期間就已經分配好了空間。

????????extern—聲明外部符號(告訴編譯器我在這個項目別的文件里定義了一個符號,你自己去找吧)

????????編譯,鏈接—>可執行程序

????????全局變量是具有外部鏈接屬性的

????????static修飾全局變量的時候,這個全局變量的外部鏈接屬性就變成了內部鏈接屬性,其他源文件(.c)就不能再使用這個全局變量了。我們在使用的時候就感覺作用域變小了,一定程度上來說可以保障安全性。

????????一個函數本來是具有外部鏈接屬性的,但是被static修飾的時候,外部鏈接屬性就變成了內部鏈接屬性,其他源文件(.c)就不能再使用了。

電腦上的存儲設備都有哪些?

寄存器(集成到cpu上)

高速緩存(cache)

內存

硬盤

????????一開始的計算機,對速度要求沒那么高,CPU和內存交換數據,后面隨著計算機的發展,對速度的要求越來越高,內存把需要的數據調到高速緩存,調到寄存器,再和CPU進行數據交換,滿足速度的要求。

#define定義宏

#define ADD(x,y) ((x)+(y))int main()
{int a = 1;int b = 2;int sum = ADD(a,b);printf("%d\n",sum);return 0;
}

????????宏就是完成替換

????????continue關鍵字不能用在switch語句里,用在循環里,能用在switch語句里的關鍵字有break,default,case。

????????define不是關鍵字,是預處理指令。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/714294.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/714294.shtml
英文地址,請注明出處:http://en.pswp.cn/news/714294.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ubuntu20.04設置docker容器開機自啟動

ubuntu20.04設置docker容器開機自啟動 1 docker自動啟動2 容器設置自動啟動3 容器自啟動失敗處理 1 docker自動啟動 &#xff08;1&#xff09;查看已啟動的服務 $ sudo systemctl list-units --typeservice此命令會列出所有當前加載的服務單元。默認情況下&#xff0c;此命令…

龍蜥Anolis 8.4 安裝 salt-stack

Python3 安裝 sudo dnf install python3 -y Install SaltStack Yum Repository sudo dnf install -y https://repo.saltstack.com/py3/redhat/salt-py3-repo-latest.el8.noarch.rpm sudo dnf makecache sudo dnf -y update 安裝Salt-stack sudo dnf install -y salt-master …

Python自動化測試基礎必備知識點總結

一、自動化測試的概念 性能系統負載能力穩定性過載操作下的系統瓶頸自動化測試&#xff0c;使用程序代替人工&#xff0c;可以提高測試效率性&#xff0c;自動化測試能自動化使用代碼模擬大量用戶&#xff0c;讓用戶請求多頁和多用戶并發請求收集參數&#xff0c;并對系統負載…

待做事情哦

單點登錄&#xff1a; 搞懂單點登錄SSO&#xff0c;基于SpringBootJWT實現單點登錄解決方案-阿里云開發者社區 (aliyun.com)

設計模式七:責任鏈模式

文章目錄 1、責任鏈模式2、spring中的責任鏈模式Spring InterceptorServlet FilterNetty 1、責任鏈模式 責任鏈模式為請求創建了一個接收者對象的鏈&#xff0c;在這種模式下&#xff0c;通常每個節點都包含對另一個節點者的引用。每個節點針對請求&#xff0c;處理自己感興趣…

openGauss學習筆記-233 openGauss性能調優-系統調優-資源負載管理-資源管理準備-啟動資源負載管理功能

文章目錄 openGauss學習筆記-233 openGauss性能調優-系統調優-資源負載管理-資源管理準備-啟動資源負載管理功能233.1 背景信息233.2 前提條件233.3 操作步驟 openGauss學習筆記-233 openGauss性能調優-系統調優-資源負載管理-資源管理準備-啟動資源負載管理功能 233.1 背景信…

輕松解決電腦卡頓,CleanMyMac X2024讓你的Mac電腦重回巔峰性能!

在當今這個信息爆炸的時代&#xff0c;我們的電腦往往會因為安裝了過多的軟件、積累了太多的垃圾文件以及運行緩慢而變得卡頓、不流暢。然而&#xff0c;CleanMyMac X2024的出現&#xff0c;將為你解決這些問題&#xff0c;讓你的電腦重獲新生&#xff01; CleanMyMac X2024全新…

java的JDK選擇和在win11的安裝與配置

一.背景 還是公司安排的師帶徒的任務。自己也回頭看看。 二.JDK的選擇 開發的版本java1.8。所以準備使用JDK8。 1.JDK有誰在給我們提供呢&#xff1f; 我以前知道的是sun、RedHat、Oracle、IBM。 我以前一般都是去sun的網站下載&#xff0c;后來被Oracle收購后去的Oracle…

前端導出word文件的多種方式、前端導出excel文件

文章目錄 純前借助word模板端導出word文件 &#xff08;推薦&#xff09;使用模板導出 前端通過模板字符串導出word文件前端導出 excel文件&#xff0c;node-xlsx導出文件&#xff0c;行列合并 純前借助word模板端導出word文件 &#xff08;推薦&#xff09; 先看效果&#xf…

nginx如何配置命令啟動

我安裝好nginx后&#xff0c;發現不能使用systemctl start nginx或者systemctl stop nginx來控制啟停 解決方法如下 首先要建一個nginx.pid的文件 一般是建在 /var/run/這個路徑下面 sudo touch /var/run/nginx.pid 添加權限 sudo chmod 644 /var/run/nginx.pid可以進入到…

springboot 定時任務備份mysql數據庫

記錄在Linux 系統上定時備份MySQL數據庫 1、在代碼中添加備份 package org.jeecg.modules.xczxhhr.job;import lombok.extern.slf4j.Slf4j; import org.quartz.Job; import org.quartz.JobExecutionContext;import java.io.BufferedReader; import java.io.File; import java…

數據結構-----反射

文章目錄 反射1.定義2 用途(了解)3 反射基本信息4 反射相關的類&#xff08;重要&#xff09;4.1 Class類(反射機制的起源 )4.1.1 Class類中的相關方法(方法的使用方法在后邊的示例當中) 4.2 反射示例4.2.1 獲得Class對象的三種方式4.2.2 反射的使用 5、反射優點和缺點6 重點總…

雙周回顧#005 - 零

一件悲傷的事實&#xff0c;這兩周&#xff0c;成長值為零&#xff5e;&#xff5e; 從大數據部門臨時抽調到互聯網部門&#xff0c;支援重構的“配置下單”項目。 一個變種的低代碼架構設計&#xff0c;唯一比較有意思的是它的業務組件的設計與校驗設計&#xff0c;算是學習…

怎么把人物從圖中摳出?分享幾種好用的摳圖方法

在日常生活中&#xff0c;我們時常需要將人物從繁雜的背景中優雅地提取出來&#xff0c;無論是為了制作一張精美的證件照&#xff0c;還是為了設計一幅引人注目的海報或宣傳畫。然而&#xff0c;對于許多非專業人士來說&#xff0c;這仿佛是一場與細節的捉迷藏游戲&#xff0c;…

MySQL深入——23

主機內存只有100G&#xff0c;現在對一個200G的大表進行掃描&#xff0c;會不會把數據庫的內存用完。 對大表做全表掃描對Sever層的影響 假設現對一個200G的InnoDB表db1&#xff0c;做一個全表掃描&#xff0c;當然要把掃描結果保存到客戶端。 InnoDB的數據時保存在主鍵索引…

數據結構從入門到精通——順序表

順序表 前言一、線性表二、順序表2.1概念及結構2.2 接口實現2.3 數組相關面試題2.4 順序表的問題及思考 三、順序表具體實現代碼順序表的初始化順序表的銷毀順序表的打印順序表的增容順序表的頭部/尾部插入順序表的頭部/尾部刪除指定位置之前插入數據和刪除指定位置數據順序表元…

Linux如何查看端口是否占用

在Linux中&#xff0c;有多種方法可以用來檢查端口是否被占用。以下是一些常用的命令&#xff1a; netstat&#xff1a;這是一個非常通用的命令&#xff0c;可以用來查看所有端口的使用情況。如果你想查找特定的端口是否被占用&#xff0c;可以使用netstat命令配合grep。例如&…

【MySQL】DQL

DQL&#xff08;數據查詢語言&#xff09;用于在MySQL數據庫中執行數據查詢操作。它主要包括SELECT語句&#xff0c;用于從表中檢索數據。 0. 基本語法 SELECT 字段列表 FROM 表名列表 WHERE 條件列表 GROUP BY 分組字段列表 HAVING 分組后條件列表 ORDER BY 排序字段列表 …

未來醫療技術的發展方向在Python中的重要性

未來醫療技術的發展方向在Python中的重要性體現在以下幾個方面&#xff1a; 數據分析和人工智能&#xff1a;Python作為一種強大的數據分析語言&#xff0c;可以進行大規模的數據處理、分析和挖掘。在醫療領域&#xff0c;大量的醫療數據可以通過Python進行分析&#xff0c;幫助…

【市工信】2024年青島市綠色工廠、綠色工業園區等綠色制造示范申報

科大睿智小編從青島市工信局了解到&#xff0c;為深入貫徹綠色發展理念&#xff0c;牢固樹立綠色低碳發展導向&#xff0c;進一步完善綠色制造體系&#xff0c;培育綠色制造先進典型&#xff0c;根據《工業和信息化部關于印發<綠色工廠梯度培育及管理暫行辦法>的通知》&a…