Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8107049
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 6, 20262026-06-06T00:38:51+00:00 2026-06-06T00:38:51+00:00

I was wondering if it is possible to reach the lowest level (the non-pointer

  • 0

I was wondering if it is possible to reach the lowest level (the non-pointer level) of an n-dimensional array in C by conditionally dereferencing different layers of pointers until you reach a layer that is not pointers, as in the following example:

if(i_is_a_pointer){
  for(i = 0; i < some_given_length; i++){
    if((*i)_is_a_pointer){
      for(j = 0; j < some_given_length; j++){
        if((**i)_is_a_pointer)...etc.
      }
    }
  }
}

which would delve through the array either until it hit a non-pointer or exhausted the final block of code written. How would one go about, in C, determining if the thing is a pointer (I would guess that sizeof would work, if the target non-pointer were of a different size than the memory address), and would the statement **i be a compile-time or run-time error if *i were not itself a pointer?

Additionally, which languages and techniques do you use/would you recommend for traversing the non-array elements of an n-dimensional array, where n is determined at run-time?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-06T00:38:52+00:00Added an answer on June 6, 2026 at 12:38 am

    Multi-dimensional arrays in C aren’t, as you seem to infer, nests of pointers until you reach the final level. They are just blocks of data. Outer dimensions automatically convert to pointers in certain contexts: The array converts to a pointer to its first element. For example,

    int a[3][4][5];
    

    can also be written

    typedef int INNER[5];    // array of 5 ints
    typedef INNER MIDDLE[4]; // array of 5 INNERs (not pointers)
    typedef MIDDLE OUTER[3]; // array of 3 MIDDLEs (not pointers)
    OUTER a;
    

    Then these are also equivalent pointer conversions of arrays.

    MIDDLE *pm = a;
    INNER *pi = a[0];
    int *p = a[0][0];
    

    and

    int (*pm)[4][5] = a;
    int (*pi)[5] = a[0];
    int *p = a[0][0];
    

    And finally since C is statically typed, there is no way or need to analyze types at run time as you are trying to do with your if statements. In a compiled C program, there is essentually no type information remaining.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I was wondering...is it possible to use a value from an array which is
I was wondering ( if possible ) if there was a program/tool/utility that when
Just toying with the SDK and I was wondering if possible a UITouch event
I was wondering if its possible to use the Google maps IFRAME code to
I was wondering - is it possible to change files that are stored on
I was wondering is it possible to register a broadcast receiver to receive two
I am wondering if its possible to to open a port listen for a
I was wondering if its possible to add custom header with classic asp. In
i am wondering is that possible (best practice) to run two long running query
I'm wondering is it possible to hot develop spring application. For example. In Play

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.