This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Will it erroneous ??

Hi,
I want to know whether below code will perform expected task or not ?

void test(unsigned char const xdata* buffer);

unsigned char magicString[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

void main(void) { unsigned char i;

while(1) { for(i=0; i<8; i++) { magicString[i] += 1; } test(magicString); }
}

void test(unsigned char const xdata* buffer) { unsigned char j;

for (j=8; j>0; j++) { send(*buffer++); // another function }
}

Will test() and send() function works ok ? Will send() will send all 8 byte of data of magicString or not ? is there any logic mistake ?

Thanks in advance ?

Parents
  • "buffer" is not const, given that declaration. It points to a const char, but is not itself const.

    const is left-associative. (If there's nothing to its left, it will modify the thing to its right.)

    Another way to look at it is that anything to the left of the * describes the type pointed to; anything to the right describes the pointer itself.

Reply
  • "buffer" is not const, given that declaration. It points to a const char, but is not itself const.

    const is left-associative. (If there's nothing to its left, it will modify the thing to its right.)

    Another way to look at it is that anything to the left of the * describes the type pointed to; anything to the right describes the pointer itself.

Children
No data