understanding and use c pointer