sizeof跟strlen的用法及差異

sizeof是一個操作符,不是函數;

而strlen是一個庫函數;

sizeof是計算所占內存空間的,不管你內容是什么,只要知道占多少內存,

而strlen是跟內容有關的,它是計算字符串長度的(字符數組也是可以的),其核心是統計字符串中'/0'前有多少字符,一定要找'/0',所以它要關注內容,

下面我們通過幾道題來講解,

這里的4/8所代表的是地址在不同編譯器下所占字節不同,有的是4,有的是8

驗證一下輸出,

下面這個代碼大家來練習一下,

	char arr[] = { 'a','b','c','d','e','f' };printf("%d\n", sizeof(arr));printf("%d\n", sizeof(arr + 0));printf("%d\n", sizeof(*arr));printf("%d\n", sizeof(arr[1]));printf("%d\n", sizeof(&arr));printf("%d\n", sizeof(&arr + 1));printf("%d\n", sizeof(&arr[0] + 1));

第一個很簡單,計算的是整個數組所占字節數,即6,

第二個arr代表的是首元素地址,+0代表首元素地址的大小,即4/8

第三個對arr首元素地址解應用,就是在問a[0]所占字節大小,即1,

第四個arr[1]是第二個元素,即1

第五個&arr代表的是整個數組的地址,也是地址,即4/8

第六個&arr+1是跳過整個數組后的地址,也是地址,即4/8

第七個&arr[0]是首元素地址,首元素地址加一也是地址,就是4/8

下面我們來看strlen,同樣通過題目來講解,

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

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

相關文章

java —— tomcat 部署項目

一、通過 war 包部署 1、將項目導出為 war 包; 2、將 war 包放置在 tomcat 目錄下的 webapps 文件夾下,該 war 包稍時便自動解析為項目文件夾; 3、啟動 tomcat 的 /bin 目錄下的 startup.bat 文件,此時即可從瀏覽器訪問項目首頁…

diff 算法原理及實現

Diff 算法是用于比較兩個虛擬 DOM 樹的差異,并以最小的操作代價將舊的 DOM 樹更新為新的 DOM 樹的一種算法。 Diff 算法的高效實現對于提高前端應用的性能和用戶體驗至關重要,尤其是在頻繁更新組件狀態導致 DOM 頻繁更新的情況下。 1. 原理 1.1 樹層級…

【Linux】文件內容查看命令——cat,tac,more,less,head,tail,od

如果我們要查看一個文件的內容時,該如何是好? 這里有相當多有趣的命令可以來分享一下:最常使用的顯示文件內容的命令可以說是cat與more及less了。 此外,如果我們要查看一個很大的文件(好幾百MB時),但是我們…

java中Comparator函數的用法實例?

在Java中,Comparator接口用于比較兩個對象的順序,常用于集合的排序。自Java 8開始,Comparator接口得到了增強,提供了許多默認方法,使得排序邏輯更加靈活和強大。下面將通過幾個實例來展示Comparator的用法。 示例1&am…

使用PyTorch設計卷積神經網絡(CNN)來處理遙感圖像Indian Pines數據集

目錄 使用PyTorch設計卷積神經網絡(CNN)來處理遙感圖像Indian Pines數據集,以下是設計和實現這些網絡的步驟: 1.數據準備: 1.1 首先,需要加載Indian Pines數據集。 1.2 將數據集轉換為PyTorch張量&#x…

LLM推理引擎怎么選?TensorRT vs vLLM vs LMDeploy vs MLC-LLM

LLM擅長文本生成應用程序,如聊天和代碼完成模型,能夠高度理解和流暢。但是它們的大尺寸也給推理帶來了挑戰。有很多個框架和包可以優化LLM推理和服務,所以在本文中我將整理一些常用的推理引擎并進行比較。 TensorRT-LLM TensorRT-LLM是NV發布…

imazing電腦怎么下載 imazing怎么下載軟件 使用iMazing下載和卸載Apple設備上的應用程序

iMazing官方版是一款管理蘋果設備的軟件,是一款幫助用戶管理 iOS手機的PC端應用程序,能力遠超 iTunes 提供的終極 iOS 設備管理器。在iMazing官方版上與蘋果設備連接后,可以輕松傳輸文件,瀏覽保存信息等,功能比iTunes更…

泛微開發修煉之旅--35關于基于頁面擴展和自定義按鈕實現與后端交互調用的方法

文章鏈接:35關于基于頁面擴展和自定義按鈕實現與后端交互調用的方法

vue3中使用 tilwindcss報錯 Unknown at rule @tailwindcss

解決方法: vscode中安裝插件 Tailwind CSS IntelliSense 在項目中的 .vscode中 settings.json添加 "files.associations": {"*.css": "tailwindcss"}

基于YOLOv9的腦腫瘤區域檢測

數據集 腦腫瘤區域檢測,我們直接采用kaggle公開數據集,Br35H 數據中已對醫學圖像中腦腫瘤位置進行標注 數據集我已經按照YOLO格式配置好,數據內容如下 數據集中共包含700張圖像,其中訓練集500張,驗證集200張 模型訓…

Perl語言入門到高級學習

Perl語言介紹 Perl,全稱為Practical Extraction and Report Language,即“實用報表提取語言”,是一種高級、通用、直譯式、動態的編程語言。Perl最初由Larry Wall設計,并于1987年12月18日首次發布。經過多年的不斷發展和更新,Perl已經成為一種功能豐富且應用廣泛的計算機程…

AI繪畫:藝術與科技的交融,創新浪潮與無限可能

在科技日新月異的當下,AI 繪畫作為人工智能領域的一顆璀璨新星,正以驚人的速度在國內嶄露頭角,引發了藝術與技術交融的全新變革。隨著人工智能技術的飛速發展,AI繪畫已成為藝術與科技交融的新寵。2024年,AI繪畫行業在國…

昇思MindSpore學習筆記2-03 LLM原理和實踐--基于MindSpore通過GPT實現情感分類

摘要: 昇思MindSpore AI框架中使用openai-gpt的方法、步驟。 沒調通,存疑。 一、環境配置 %%capture captured_output # 實驗環境已經預裝了mindspore2.2.14,如需更換mindspore版本,可更改下面mindspore的版本號 !pip uninsta…

Autogen智能體實戰-Autogen框架介紹

文章目錄 一,Autogen簡介二,Autogen原理1,Autogen原理圖解2,拆解Autogen是如何完成繪制特斯拉股票趨勢圖的 這篇文章介紹一個開源的Agent框架-微軟的Autogen。 一,Autogen簡介 官網:https://microsoft.github.io/aut…

前端頁面操作防抖函數封裝及應用

1、使用背景 函數防抖其實是作為一名前端同學必備的技能了,之前一直偷懶都借用頁面loading或者按鈕loading來實現。最近在開發微信小程序,過多的loading會帶來不好的體驗,同時在跳轉頁面的時候,不好用loading來防抖。所以就會出現…

【Unity】RPG2D龍城紛爭(九)戰斗系統之角色移動

更新日期:2024年7月8日。 項目源碼:第五章發布(正式開始游戲邏輯的章節) 索引 簡介一、角色戰斗狀態二、角色移動1.角色起飛(移動前)2.角色降落(移動后)3.生成移動路徑4.角色移動三、整合簡介 之前的章節做了這么多準備工作,現在終于要進入我們最為核心的戰斗系統的編…

在idea中查看某個接口的所有實現類圖

一、選中某個接口右鍵 ---> Diagrams ---> show Diagrams,然后就會進入一個新的 tab 頁; 二、然后在出來的圖上選中某個接口右鍵 ---> show Implementations,就會顯示選中接口的所有實現類列表; 三、最后 ctrl A 全部選…

Defender Cloud Apps部署方案

目錄 Defender Cloud Apps是什么? Defender Cloud Apps:保護您的云應用程序免受威脅 1. 全面的云應用發現與評估 2. 實時的用戶活動監控 3. 深度的數據保護 4. 合規性管理與報告 5. 統一的安全管理 Defender Cloud Apps主要功能 1. 可見性和洞察 2. 數據保…

uniapp父頁面調用子頁面 組件方法記錄

文章目錄 導文如何點擊父頁面,觸發子頁面函數先寫一個子頁面的基礎內容父元素 如何點擊父頁面,修改子頁面的值先寫一個子頁面的基礎內容父元素 導文 如何點擊父頁面,觸發子頁面函數? 如何點擊父頁面,修改子頁面的值&am…

英區PayPal賬號3分鐘綁定WISE英鎊的銀行收款賬戶

正文開始,我們先登錄英區PayPal賬號后 有很多銀行給我們選擇,但是沒有WISE的選項,所以我們手動輸入“WISE”,然后如下圖所示點擊“Enter Your Bank Detailds”輸入銀行詳細信息按鈕。 然后輸入我們的WISE英鎊賬戶的收款銀行信息&a…