快速的將結構體各成員清零
struct AA{
short int a;
long b;
short int c;
long d;
};
struct AA tab[10];
void main()
{
int i;
for(i=0;i<10;i++)
{
tab[i].a = 0;
tab[i].b = 0;
tab[i].c = 0;
tab[i].d = 0;
}
}
現在我懂了,,這樣做簡單的了。。程式碼的效率也提高了。。。
struct AA{ short int a; long b; short int c; long d; }; struct AA tab[10]; void clear(unsigned char *pta, int size ) { while(size>0) { *pta++ = 0 size --; } } void main() { clear(( unsigned char *)&tab[0],sizeof(tab)); // 將結構體的起始地址強轉,把結構體所佔的地址分為若干個BYTE空間,再對各個BYTE空間清0。 }
這種方法是不是簡單多了。。呵呵。。。。
相關推薦
快速的將結構體各成員清零
如何將結構體各成員清零。以前筆者我也傻傻的如下這樣做:struct AA{ short int a; long b; short int c; long d; }; struct AA tab[10]; void
[c++] 初始化結構體 賦值結構體 輸出結構體各成員
/* * 程式的版權和版本宣告部分: * Copyright (c) 2012, 煙臺大學計算機學院 * All rights reserved. * 檔名稱:.cpp * 作 者:毛通 * 完成日期:2013 年 1月22 日 * 版 本
結構體訪問成員變量什麽時候該用“->”或者是"."呢?的困惑
size error request lin list 如果 mem def 變量 煎蛋栗子: typedef struct Node{int data;struct Node *next;}LinkList;LinkList *p=(LinkList *)malloc(s
C#將結構體和指針互轉的方法
緩沖 style system RR 程序集 ascii 通知 work Coding 1. 功能及位置 將數據從托管對象封送到非托管內存塊,屬於.NET Framework 類庫 命名空間:System.Runtime.InteropServices
將結構體數組中內容以文件形式的導出
res tac () end hda str phone nta 結構 void fileOutput(contacts student[] , int n){ ofstream out ; out . open("tongxunlu-new.txt") ; f
golang將結構體轉換成json,json轉換成結構體
1、將結構體轉換成json需要用到marshl函式(或者marshlIndent()函式)。 區別:marshl函式沒有將json格式化輸出,輸出是一個json的字串。----不利於直接檢視json的結構。maeshldent函式
[流暢的 C]C語言將結構體轉化為字串
[流暢的 C] C語言將結構體轉化為字串 Overview 思路 直接使用 memcpy 之類的是不可以的。所以最好的做法就是定義結構體的時候就實現對字串的轉換。 就像 Python 的 __str__ 一樣。 (不好意思,博主雷打不動轉python!信仰
將結構體實現的簡易通訊錄改成動態的版本
之前實現的一次結構體型通訊錄電話本容量固定為1000,如果只需存50人,就浪費950的容量,如果存 2000人,容量就不夠了,所以這次動態開闢一個電話本容量。並且將之前的版本測試部分用函式指標陣列簡化完善一下。 之前版本(點選這裡) 程式碼如下: 1.標頭檔案部分: #
函式指標作為結構體的成員
我發一個執行過的原始碼。 在.h檔案中,有如下程式碼: //TVM控制狀態 typedef struct _m_TVM_CTRL { u32(*get_coin_totval)(void); //得到此次投入硬幣總金額 u32(*get_coin_totcnt)(vo
c語言結構體指標成員初始化
今天遇到一個奇怪的問題,錯誤提示段錯誤,明顯是指標操作有問題。找了N久才把問題定位在自定義的連結串列上。next指標一直有資料。 struct S{ void (*call)(); S *next; };上面一個簡單的結構體,在程式中:
結構體學習筆記3——結構體取成員運算符
兩種 style stdlib.h 變量定義 tdi urn 飛揚 單獨 span 訪問成員:學會之後可以對結構體中的成員,單獨進行操作。 結構體訪問成員分兩種:1,對結構體實例變量的訪問 2,對結構體指針變量的訪問。 struct Stu stu1;//實例變量就
C語言:多種方式將結構體存放到檔案中
第一種方法:使用格式化讀寫文字檔案 #include<stdio.h> #include<stdlib.h&
C語言結構體在定義的時候,各成員後面加冒號是什麼意思?
位域是指資訊在儲存時,並不需要佔用一個完整的位元組, 而只需佔幾個或一個二進位制位。例如在存放一個開關量時,只有0和1 兩種狀態, 用一位二進位即可。為了節省儲存空間,並使處理簡便,C語言又提供了一種資料結構,稱為“位域”或“位段”。所謂“位域”是把一個位元組中的二進位劃分為
結構體中最後成員為一個數組(長度為零)與一個指標
1. 結構體中最後一個數組長度為零 typedef struct _ex_mng { unsigned int type; unsigned int oper; char data[0]; }ex_mng_t; 最近在專案常用到這樣子的一個結
在C語言結構體中添加成員函數
我們 pau 打印 log print class 控制 stdio.h 語言 我們在使用C語言的結構體時,經常都是只定義幾個成員變量,而學過面向對象的人應該知道,我們定義類時,不只是定義了成員變量,還定義了成員方法,而類的結構和結構體非常的相似,所以,為什麽不想想如何
函數外面對單個結構體成員進行賦值出錯
類型 自動 構造 不能 結構體成員 bsp 入口 出錯 進入 關於“為什麽整型的就可以,結構體類型的就不能這麽賦值呢?”——整形等常規數據類型由編譯器自動識別,而自定義的數據類型(樓主自定義的結構體類型),編譯器在編譯階段無法識別,故出錯。 關於“在函數外單個初始化”——在
3.c語音結構體成員內存對齊詳解
定義 pre 形狀 sed 兩個 分配 我們 替代 images 一.關鍵一點 最關鍵的一點:結構體在內存中是一個矩形,而不是一個不規則形狀 二.編程實戰 1 #include <stdlib.h> 2 #inc
68.qq號索引結構體寫入內存,並實現快速排序
ets style pau ont 步驟 之前 比較 多個 兩個 1 //兩個步驟,第一步讀取文件,並且初始化索引結構體,把初始化的索引結構體寫入到文件,第二步,讀取這個文件到索引結構體 2 //並對這個結構體進行快速排序,得到順序的索引,再寫入文件 3 #d
計算C結構體成員偏移量兩種方式本質上是一樣的
BE main print tdd of函數 pan color c結構體 計算 #include <stdio.h> #include <stddef.h> typedef struct test_st { char a[3];
strcpy拷貝結構體成員中的字元陣列溢位的問題
結構體定義: typedef struct env { char env_name[10]; char env_val[20]; int is_used;