【C語言】如何計算變數或型別佔記憶體的大小
一般形式
語法形式 | 執行結果 |
---|---|
sizeof(型別) | 型別佔用的記憶體位元組數 |
sizeof(變數或表示式) | 變數或表示式所屬型別佔的記憶體位元組數 |
例項
#include<stdio.h>
int main(){
int a;
double b;
char c;
printf("sizeof(int)=%d\n",sizeof(a));
printf("sizeof(double)=%d\n",sizeof(b));
printf("sizeof(char)=%d\n",sizeof (c));
printf("sizeof(char + double)=%d\n",sizeof(c)+sizeof(b));
}
輸出結果
sizeof(int)=4
sizeof(double)=8
sizeof(char)=1
sizeof(char + double)=9
我的微信公眾號
相關推薦
【C語言】如何計算變數或型別佔記憶體的大小
一般形式 語法形式 執行結果 sizeof(型別) 型別佔用的記憶體位元組數 sizeof(變數或表示式) 變數或表示式所屬型別佔的記憶體位元組數
【C語言】使用異或運算子交換兩個數
異或交換兩個數: #include<stdio.h> #include<stdlib.h> int main() { int a, b; a = 10; b = 20; a= a^b; b =a^b; a =a^b; printf("%d\n%d\n", a
【C語言】計算1-1/2+1/3-1/4+1/5 …… + 1/99
//計算1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100的值 #include <stdio.h> int main() { float sum=0; fl
【C語言】結構體、聯合,記憶體對齊規則總結
一、結構體 1.1什麼是結構體 在C語言中,結構體是一種資料結構,是C提供的聚合型別(C提供了兩種聚合型別:陣列和結構)的一種。結構體與陣列的區別是:陣列是相同型別的集合,而結構體可能具有不同的型別。 結構體也可以被宣告為變數,陣列或者指標等,用以實現較複雜的
【C語言】實現對一個8bit資料(unsigned char)型別的指定位的置0或置1操作,並保持其他位不變
功能:實現對一個8bit資料(unsigned char)型別的指定位(例如第n位)的置0或置1操作,並保持其他位不變。 函式原型:void bit_set(unsigned char *p_data
【C語言】實現對一個8bit資料(unsigned char 型別)的指定位(例如第n位)的置0或者置1操作,並保持其他位不變
請編碼實現以下功能的函式 功能:實現對一個8bit資料(unsigned char 型別)的指定位(例如第n位)的置0或者置1操作,並保持其他位不變。 函式原型:void bit_set(unsigned char *p_data,unsigned char position,int flag)
【c語言】分別輸出1!和n!的值(要求使用靜態變數)
#include<stdio.h> /* 需求:編寫程式分別輸出1!到n!(要求使用靜態變數) 分析:使用一個函式定義一個靜態變數,用來存放每次呼叫完成之後 階乘的數 例如: f(1) = 1 f(2) = 2 f(3) = 3 在f(2)的基礎上直接 3*2 返回6 就可以獲得該
【c語言】static修飾變數
static 1.修飾區域性變數 改變了 生命週期,作用域不發生改變 eg: void test() { int i = 0; i++; printf("%d\n", i); } int main() { int i = 0; for (i =
【C語言】typedef(自定義資料型別)與#define(巨集定義)用法比較
不管是在C語言還是在C++中,typedef這個詞都不少見,當然出現頻率較高的還是在C程式碼中。typedef和#define有些相似,但更多的是不同,特別是在一些複雜的用法上,就完全不同了。 1.巨集定義(#define) 巨集定義又稱為巨集代換
【C語言】巨集定義define 和型別重新命名typedef
C語言裡面有兩個不容易區分的語法概念,巨集定義define 和型別重新命名typedef。下面我們來談一下兩者之間的差異。 1.型別重新命名typedef: 關鍵字typedef提供了一種為已定義好的資料型別建立別名的機制,為了建立更簡短的型別名,通常使用type
【C語言】給定兩個整型變數的值,將兩個值的內容進行交換(不同方法)
給定兩個整型變數的值,將兩個值的內容進行交換,現在我介紹幾種不同的實現方法:法1:在主函式裡實現,這樣操作這兩個值時並未重新開闢空間,直接交換可以達到目的。#include<stdio.h> #include<stdlib.h> int m
【c語言】實現對一個8bit資料(unsigned char 型別)的指定位(例如第n位)置0或者置1操作,並保持其他位不變
// 實現對一個8bit資料(unsigned char 型別)的指定位(例如第n位)置0或者置1操作,並保持其他位不變 #include <stdio.h> void bit_set(unsigned char *p_data, unsigned char
【c語言】 運輸公司對使用者計算運輸費用
// 運輸公司對使用者計算運輸費用。路程越遠,每噸*千米運費越低。標準如下: // s<250---沒有折扣 250<=s<500---2%折扣 500<=s<1000---5%折扣 // 1000<=s<2000--
【C 語言】資料型別的一致性
背景 今天使用Visual Studio 2017 寫一個程式時發現的一個問題,做下記錄。 目標實現 定義 char 型別的陣列,將部分引數與巨集進行比較,輸出比較結果。 問題描述 問題程式碼 char addbuf[8] = {0x5A, 0xA5, 0x0
【C語言】統計數字在排序數組中出現的次數
語言 個數 統計 ret r+ () class tdi times //數字在排序數組中出現的次數。 //統計一個數字在排序數組中出現的次數。比如:排序數組{1,2,3,3,3,3,4,5}和數字3,因為3出現了4次,因此輸出4. #include <stdio
【C語言】推斷一個數是否為2的n次方
post data- popu scanf scan ng- 輸入 ont print //推斷一個數是否為2的n次方 #include <stdio.h> int is_two_n(int num) { if ((num&(num - 1))
【C語言】 二叉樹的基本運算
IT btree AS CA style pri != -- str • 二叉樹節點類型BTNode: 1 typedef struct node 2 { 3 char data; 4 struct node *lchild, *rch
【C語言】類型限定詞
變量 可變 oct 包含 一個數 sta ans eof 方式 ANSI C 的類型限定詞有const、volatile以及restrict三個,以下分別介紹三個限定詞: 1、類型限定詞const (1)、如果變量中帶有const關鍵字,則該變量無法進行賦值、增量及減量運算
【C語言】平衡二叉樹
avl 簡介 二叉搜索樹 沒有 TP 假設 它的 left 操作 AVL樹簡介 AVL樹的名字來源於它的發明作者G.M. Adelson-Velsky 和 E.M. Landis。AVL樹是最先發明的自平衡二叉查找樹(Self-Balancing Binary Searc
【C語言】輸入一個整數,求它的原碼,反碼,補碼值
補碼 while src info idt IV com scan -- 1 #include<stdio.h> 2 #include<math.h> 3 int main() 4 { 5 int m,n,a[10],i=0,y[