c language C 語言 Pointer 操作 - 3 幾篇先前幫新玩 C 語言的一個朋友整理的 pointer 操作說明 例 1 #define nelement(a) (sizeof(a) / sizeof(a[0])) static void hello() { printf("hello\n"); } static void world() { printf("world\n"); } typedef void (*callback)(); int main() { callback cbs[] = { hello, world }; int i; for(i
c language C 語言 Pointer 操作 - 2 幾篇先前幫新玩 C 語言的一個朋友整理的 pointer 操作說明 例 1 #include <stdio.h> #include <stdint.h> int main() { uint32_t v1 = 0x11223344; uint8_t *p = (uint8_t *) &v1; printf("%x, %x, %x, %x\n", *p, *(p + 1), p[2], p[
c language C 語言 Pointer 操作 幾篇先前幫新玩 C 語言的一個朋友整理的 pointer 操作說明 例 1 int v = 0; int *p = &v; C 的資源管理通常會是滿需要花心思的, 這部份的管理策略不一致或不清楚時, 非常容易發生問題 (double free, memory leak, stack/heap corruption, dangling pointer...). 首先要清楚 pointer 指向的內存位置, 是在 stack 或是 heap 上. 此例 p 指向 v. 這裡 v 及 p 都在