Because an image is worth 1000 words, let’s go over what recursion is, how it works and how it is handled by the stack.
The definition of recursion is very straight forward:
A recursive function is a function that calls itself.
Here is an example:
float _pow_recursion(float x, float y)
if (y == 0)
if (y < 0)
return (_pow_recursion(x, y + 1) / x);
return (_pow_recursion(x, y - 1) * x);
Simply put, this function calls itself to find the
x to the power of
y with the following logic:
Python ‘variables’, at first, seem to have superpowers! You can assign an
dict… But that what you might want to call a ‘variable’ isn’t really one and that’s the magic of python!
In python, everything is an object, and the so-called ‘variables’ are more like a label with a reference to an object. And those objects have particular characteristics that any newcomer must learn about.
What does immutable and mutable mean? Well:
Simply placed, after it is made, a mutable object can be altered, while an immutable object can’t.
When you initiate an object…
As a software engineer, you often go about solving big problems by breaking them down into several smaller problems. Most of the time, you want to write one function to solve one problem. For example, you can create a function called
_strlen() to calculate the length of a string.
This will be the kind of function you’ll use a thousand times while coding. It’s OK to rewrite them each time you start a new program. But it’s better if you could save yourself the hassle, and that’s what libraries are all about: making functions reusable in multiple programs.
C static libraries as an essential tool for software engineers. Is this article we will covert the most important things you need to know about then:
A library is a file containing several object files, that can be used as a single entity in a linking phase of a program — source.
If you’re not familiar with how C programs are compiled have a look a this first.
In software engineering, you tend to break a large problem into several little problems and then solve a…
C is a low-level programming language meaning that by itself it cannot be read by the computer. It needs to be compiled with a compiler (gcc for example) in order to be “translated” into code that your computer will understand (i.e. binary). In this article, we will explain the process of compiling C programs.
The compiler is not a single module compiler, it has four big modules and can be simply described as it follows:
In this article, we’re going to go over the main difference between hard links vs. symbolic links and see how both can be used.
In order to understand hard and symbolic links, it is key to understand what an iNode is.
iNodes are data structures that contain information about files in Unix file systems that are created when a file system is created.
Each file has an iNode and is identified by an iNode number (i-number) in the file system where it resides:
This a very basic explanation of a commonly used command in your computer terminal. If you’re a complete beginner, after reading this article you should be able to understand perfectly what “ls *.c” does and even some other commands too 🤘.
When you open it and type a few commands, it really looks like your starting to hack into someone's computer (at least that’s how I felt the first time). Sadly, it isn’t the case…
I see it as a way to manage your computer’s files and folders without a mouse and a “command” such as ls *.c is an…
Last year whilst buying some veggies for a dinner party with friends, I realised how poor the quality and freshness of the produce at supermarkets really is, and couldn’t help but wonder why?
This set me to thinking (and I’m sure I’m not alone in this) about just how absurd the globalised fresh food production and supply system is. It is commonplace to see fruit and vegetables that have traveled thousands of kilometers to reach our plates, which we then have to rinse off due to toxic pesticides and chemicals sprayed onto it. All this damage to the planet and…
There is no doubt among the guest speakers at the Frontline Club: it is highly unlikely Le Pen will win the French presidential elections. Although the far-right wing candidate is still first in the latest Pop 2017 polls with 26%, the French electoral system will certainly prevent her from winning.
Nathalie Nougaytède, columnist for the Guardian, stated that Le Pen has a 100 percent chances to go to the second round but the odds will not run in her favour for the second vote. …
Going to Fabric London club almost feels like being a criminal. Bouncers at the door scan your face and your ID, always asking themselves if you are a drug dealer or just a simple electronic music clubber. They also check you in to the most unusual places and, once inside, staff members go around with their torches looking for any suspicious activities. However, people do not really care about it simply because they are dancing and enjoying themselves at one of the best electronic music venues in the world.
On November 21st of this year, Fabric reached an agreement with…