#include <stdio.h>
#define SIZE 10
int main( void )
{
float numbers[ SIZE] =
{ 0.0 , 1.1 , 2.2 , 3.3 , 4.4 ,
5.5 , 6.6 , 7.7 , 8.8 , 9.9 } ;
float * nPtr;
printf ( "Using array subscript notation:\n " ) ;
for ( int i = 0 ; i < SIZE; ++ i)
{
}
nPtr = numbers;
printf ( "\n Using pointer/offset notation with nPtr:\n " ) ;
for ( int i = 0 ; i < SIZE; ++ i)
{
printf ( "%.1f\t " , * ( nPtr
+ i
) ) ; }
printf ( "\n Using pointer/offset notation with array name:\n " ) ;
for ( int i = 0 ; i < SIZE; ++ i)
{
printf ( "%.1f\t " , * ( numbers
+ i
) ) ; }
printf ( "\n Using pointer/subscript notation:\n " ) ;
for ( int i = 0 ; i < SIZE; ++ i)
{
}
printf ( "\n Element 4 using array subscript notation: %.1f\n " , numbers[ 4 ] ) ;
printf ( "Element 4 using pointer/offset notation with array name: %.1f\n " , * ( numbers + 4 ) ) ;
printf ( "Element 4 using pointer/subscript notation: %.1f\n " , nPtr[ 4 ] ) ;
printf ( "Element 4 using pointer/offset notation with nPtr: %.1f\n " , * ( nPtr + 4 ) ) ;
printf ( "\n Address referenced by nPtr + 8: %p\n " , ( void * ) ( nPtr + 8 ) ) ;
printf ( "Value stored at that address: %.1f\n " , * ( nPtr + 8 ) ) ;
nPtr = & numbers[ 5 ] ;
nPtr -= 4 ;
printf ( "\n Address after nPtr -= 4: %p\n " , ( void * ) nPtr) ;
printf ( "Value stored at that address: %.1f\n " , * nPtr) ;
return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIFNJWkUgMTAKCmludCBtYWluKHZvaWQpCnsKICAgIGZsb2F0IG51bWJlcnNbU0laRV0gPQogICAgeyAwLjAsIDEuMSwgMi4yLCAzLjMsIDQuNCwKICAgICAgNS41LCA2LjYsIDcuNywgOC44LCA5LjkgfTsKCiAgICBmbG9hdCAqblB0cjsKCiAgICBwcmludGYoIlVzaW5nIGFycmF5IHN1YnNjcmlwdCBub3RhdGlvbjpcbiIpOwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgU0laRTsgKytpKQogICAgewogICAgICAgIHByaW50ZigiJS4xZlx0IiwgbnVtYmVyc1tpXSk7CiAgICB9CgogICAgcHV0cygiIik7CgogICAgblB0ciA9IG51bWJlcnM7CgogICAgcHJpbnRmKCJcblVzaW5nIHBvaW50ZXIvb2Zmc2V0IG5vdGF0aW9uIHdpdGggblB0cjpcbiIpOwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgU0laRTsgKytpKQogICAgewogICAgICAgIHByaW50ZigiJS4xZlx0IiwgKihuUHRyICsgaSkpOwogICAgfQoKICAgIHB1dHMoIiIpOwoKICAgIHByaW50ZigiXG5Vc2luZyBwb2ludGVyL29mZnNldCBub3RhdGlvbiB3aXRoIGFycmF5IG5hbWU6XG4iKTsKCiAgICBmb3IgKGludCBpID0gMDsgaSA8IFNJWkU7ICsraSkKICAgIHsKICAgICAgICBwcmludGYoIiUuMWZcdCIsICoobnVtYmVycyArIGkpKTsKICAgIH0KCiAgICBwdXRzKCIiKTsKCiAgICBwcmludGYoIlxuVXNpbmcgcG9pbnRlci9zdWJzY3JpcHQgbm90YXRpb246XG4iKTsKCiAgICBmb3IgKGludCBpID0gMDsgaSA8IFNJWkU7ICsraSkKICAgIHsKICAgICAgICBwcmludGYoIiUuMWZcdCIsIG5QdHJbaV0pOwogICAgfQoKICAgIHB1dHMoIiIpOwoKICAgIHByaW50ZigiXG5FbGVtZW50IDQgdXNpbmcgYXJyYXkgc3Vic2NyaXB0IG5vdGF0aW9uOiAlLjFmXG4iLAogICAgICAgICAgIG51bWJlcnNbNF0pOwoKICAgIHByaW50ZigiRWxlbWVudCA0IHVzaW5nIHBvaW50ZXIvb2Zmc2V0IG5vdGF0aW9uIHdpdGggYXJyYXkgbmFtZTogJS4xZlxuIiwKICAgICAgICAgICAqKG51bWJlcnMgKyA0KSk7CgogICAgcHJpbnRmKCJFbGVtZW50IDQgdXNpbmcgcG9pbnRlci9zdWJzY3JpcHQgbm90YXRpb246ICUuMWZcbiIsCiAgICAgICAgICAgblB0cls0XSk7CgogICAgcHJpbnRmKCJFbGVtZW50IDQgdXNpbmcgcG9pbnRlci9vZmZzZXQgbm90YXRpb24gd2l0aCBuUHRyOiAlLjFmXG4iLAogICAgICAgICAgICooblB0ciArIDQpKTsKCiAgICBwcmludGYoIlxuQWRkcmVzcyByZWZlcmVuY2VkIGJ5IG5QdHIgKyA4OiAlcFxuIiwKICAgICAgICAgICAodm9pZCAqKShuUHRyICsgOCkpOwoKICAgIHByaW50ZigiVmFsdWUgc3RvcmVkIGF0IHRoYXQgYWRkcmVzczogJS4xZlxuIiwKICAgICAgICAgICAqKG5QdHIgKyA4KSk7CgogICAgblB0ciA9ICZudW1iZXJzWzVdOwoKICAgIG5QdHIgLT0gNDsKCiAgICBwcmludGYoIlxuQWRkcmVzcyBhZnRlciBuUHRyIC09IDQ6ICVwXG4iLAogICAgICAgICAgICh2b2lkICopblB0cik7CgogICAgcHJpbnRmKCJWYWx1ZSBzdG9yZWQgYXQgdGhhdCBhZGRyZXNzOiAlLjFmXG4iLAogICAgICAgICAgICpuUHRyKTsKCiAgICByZXR1cm4gMDsKfQ==