#include <stdio.h>
typedef struct
{
int value;
} MyStruct;
int passByConstPointerConst(MyStruct const * const myStruct)
{
return printf("%s: %p\n", __func__
, (void *) myStruct
); }
int passByValueConst(MyStruct const myStruct)
{
return printf("%s: %p\n", __func__
, (void *) &myStruct
); }
int main(void)
{
MyStruct myStruct = {.value = 5};
printf("%s: %p\n", __func__
, (void *) &myStruct
); passByConstPointerConst(&myStruct);
passByValueConst(myStruct);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp0eXBlZGVmIHN0cnVjdAp7CiAgICBpbnQgdmFsdWU7Cn0gTXlTdHJ1Y3Q7CgppbnQgcGFzc0J5Q29uc3RQb2ludGVyQ29uc3QoTXlTdHJ1Y3QgY29uc3QgKiBjb25zdCBteVN0cnVjdCkKewogICAgcmV0dXJuIHByaW50ZigiJXM6ICVwXG4iLCBfX2Z1bmNfXywgKHZvaWQgKikgbXlTdHJ1Y3QpOwp9CgppbnQgcGFzc0J5VmFsdWVDb25zdChNeVN0cnVjdCBjb25zdCBteVN0cnVjdCkKewogICAgcmV0dXJuIHByaW50ZigiJXM6ICVwXG4iLCBfX2Z1bmNfXywgKHZvaWQgKikgJm15U3RydWN0KTsKfQoKaW50IG1haW4odm9pZCkKewogICAgTXlTdHJ1Y3QgbXlTdHJ1Y3QgPSB7LnZhbHVlID0gNX07CiAgICAKICAgIHByaW50ZigiJXM6ICVwXG4iLCBfX2Z1bmNfXywgKHZvaWQgKikgJm15U3RydWN0KTsKICAgIHBhc3NCeUNvbnN0UG9pbnRlckNvbnN0KCZteVN0cnVjdCk7CiAgICBwYXNzQnlWYWx1ZUNvbnN0KG15U3RydWN0KTsKICAgIAogICAgcmV0dXJuIDA7Cn0K