C

C programming with memory management, pointers, structs, and system-level development. Use for .c files.

majiayu000 3f91ca9 2 files · 1.9 KB Updated 567 repo stars

File contents

C

The foundational language for modern computing, operating systems, and embedded systems.

When to Use

  • Operating Systems / Drivers
  • Embedded Systems
  • High-performance computing
  • Legacy codebases

Quick Start

#include <stdio.h>

int main() {
    printf("Hello, World!\n");
    return 0;
}

Core Concepts

Pointers

Variables that store memory addresses.

int x = 10;
int *p = &x; // p holds address of x
printf("%d", *p); // Dereference p to get 10

Memory Management

Manual allocation and deallocation.

int *arr = (int*)malloc(10 * sizeof(int));
// use arr...
free(arr);

Structs

User-defined data types.

Best Practices

Do:

  • Always initialized variables
  • Check return values of malloc
  • Guard against buffer overflows (use snprintf over sprintf)
  • Use tools like Valgrind to check for leaks

Don't:

  • Return pointers to local variables (stack memory)
  • Use gets() (unsafe)

References

majiayu000/claude-skill-registry-data/tree/main/development/c-g1joshi-agent-skills commit 3f91ca9bc5

Frequently asked questions

npx skillmds add majiayu000/c-2