C++における文字列の特性と効率的な取り扱い方
文字列の基本構造と種類
C++では、テキストデータを扱うために主に二種類の文字列表現が用いられる:
文字配列(Cスタイル):char型の配列で表され、終端にヌル文字\0を持つ。宣言例:char message[] = "Hello";。
std::stringクラス:標準ライブラリが提供する高機能な文字列型。動的メモリ管理を内包し、多くの操作が簡潔に記述可能。例:std::string greeting = "Hell ...
5月16日 05:21 投稿
C言語におけるデータのメモリ内表現
基本データ型とメモリサイズ
型説明
char文字型
short短整数型
int整数型
long長整数型
float単精度浮動小数点数
double倍精度浮動小数点数
整数型の分類
符号付きchar
符号なしchar
short
符号付きshort
符号なしshort
int
符号付きint
符号なしint
浮動小数点型の分類
float
double
整数のメモリ表現
符号表現
...
5月15日 11:23 投稿
組込みシステムにおけるC言語の基本概念
関数とポインタの理解
関数の役割と種類
関数は特定の処理を再利用可能なコードブロックとして定義する仕組みです。コードの再利用性を高め、保守性を改善する目的で使用されます。
関数定義と呼び出しの基本
#include <stdio.h>
// 関数のプロトタイプ
void printBanner();
int main() {
// 3回関数を呼び出す
printBanner();
printBanner();
p ...
5月14日 19:59 投稿
C言語における文字列処理の変数予期せぬ挙動と解決策
開発環境:AMDプロセッサ、Windows 10 64bit、Cygwin64、Visual Studio Code、Code Runner拡張機能
問題が発生したコード例:
#include<string.h>
#include<stdio.h>
typedef char DataType;
typedef struct TreeNode
{
DataType value;
struct TreeNode *left;
struct TreeNode *right;
} TreeNode, *TreePtr;
TreeNode* parseExpression(const ...
5月14日 13:03 投稿
Greenplumにおけるメモリオーバーフローの主なケースと対処法
GreenplumはMPPアーキテクチャを採用した並列処理型データベースであり、大量のメモリを積極的に活用して高速処理を実現する。しかし、メモリ使用量が制御を超えると、セグメントプロセスがOSによって強制終了(OOM Killer)され、クラスタ全体の安定性に深刻な影響を及ぼす可能性がある。
メモリオーバーフローを引き起こす主な要因
ノードあたりの物理メモリ不足
O ...
5月14日 03:35 投稿