#include #include void* align_2(void *ptr) { uintptr_t address = (uintptr_t)ptr; if (address & 0b11) { address = address & ~0b11; address = address + 4; return (void*)address; } else { return ptr; } } int main(void){ int a; char* b = (char*)&a; for (int i = 0; i < 20; i++){ printf("Aligned %p: %p\n", b, align_2(b)); b++; } return 0; }